封装是面向对象的三大特性之一(其余的两个是继承与多态),指的是就状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过类提供的方法来是想对内部信息的操作和访问。常见的封装的实现:
使用访问控制符:
Java提供了四个等级的访问级别,有三个关键词和一个默认的,看下表:
private | default | protected | public | |
同一个类中 | √ | √ | √ | √ |
同一个包中 | √ | √ | √ | |
子类中 | √ | √ | ||
全局范围里 |
| √ |
private指在同一个类中可以访问,其余地方不可以访问,而默认的是什么就是什么关键字都不写,可以在同一个包中使用,而protected指的是在有继承关系的子类中可用,而public值得是在全局范围中可以用。
属性私有化:
一般在类中的属性都是private修饰的,不可以直接访问,而是通过提供公共的方法去访问,而在方法中可以添加控制语句,以确保外部对于变量的赋值是在有效的范围里面的。我们一般把设置属性的方法设置成setXXX(),如果属性是boolean的,则是isXXX(),而把访问属性的设置成getXXX()。
包与导包
包 package :包其实是一个文件夹,包的出现是为了解决命名冲突的问题,包的声明一般放在类的非注释的第一行
导包import 与 import static,可以导入别人或者自己写好的Java类