要想搞明白封装,首先要清楚什么是 包
包的概念:
在面向对象的体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起称为一组,称为软件包。
包的作用:
1、一个包中的类可以被其他包中的类使用,同样一个包中的类也可以设置为不被其他包中类使用,根据自己需求灵活变动
2、在同一个工程中允许存在相同名称的类,只要处在不同的包中即可
导入包中的类:
1、Java提供了很多现成的类供我们使用,例如Date类,可以使用 java.util.Date 导入 java.util 这个包中的 Date类
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
//得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
2、还可以使用 import 语句导入包
如果要使用 java.util 中的其他类,可以使用 import java.util.*
但是上面这种形式容易出现冲突,如:util 和 sql 中都存在一个Date类,这时就会出现歧义,编译出错,如下:
这种情况下,需要使用完整的类名
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date.getTime());
}
}
3、可以使用 inport static 导入包中静态的方法和字段,如下:
自定义包
基本规则:
1、在文件的最上方加上一个 package 语句指定该代码在哪个包中
2、包名需要尽量指定成唯一的名字,通常会用公司的域名的颠倒形式(例如:com.baiducc.demo)
3、包名要和代码路径相匹配,例如创建 com.baiducc.demo 的包,一定会存在一个对应的路径 com/baiducc/demo 来存储代码
4、如果一个类没有 package 语句,则该类被放到一个默认包中
当知道了包的概念后,再来看
封装的定义:
封装就是将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互
访问修饰限定符:
java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符合人们对事物的认知,而访问权限用来控制方法或字段能否直接在类外使用,Java中提供了四种访问限定符:
通过访问修饰限定符和包的相互组合,即可实现不同访问权限需求
一般情况下成员变量设置为private,成员方法设置为public