1.封装的概念
封装,可以理解为把东西包装起来,有 2 种意义
- 把多个东西,打包为一个,便于使用,这里可以理解为方法的调用
- 把东西打包起来后,无法看到内部的细节,即增加了访问控制
对于方法的调用,实际上并不是面向对象特有的,在非面向对象编程中,也有方法
所以,在面向对象编程中,封装,主要是指后者,即访问控制。
2.打包与导包
1.package关键字 — 打包
package 关键字用于 “打包”,打包可以理解为把东西包装起来
“包”,叫做 package,在 java 工程中,用于表示”文件夹” 的作用,规则同文件夹
语法:
package 包名称;
对于打包后的类,就可以通过 “包名” 导入了
2.导包
import 关键字,表示 “导包”,可以理解为打开这个包,取出一样东西
语法:
import 包名称.类名称;
导包后,就可以使用创建对象了( java.lang 包下的类是自动导包的,其他手动)
3.访问修饰符
访问修饰符,可以理解为打包的规则,对包中的每一样东西权限精确控制
如果访问权限不够,则不可以通过上面的方式访问成员变量,成员方法等
修饰符 | 当前类(自己) | 同一包内(家人) | 不同包子类(远亲) | 不同包非子类(外人) |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
public 访问权最大,任何人均可访问
protected 对陌生人不可访问
default 对陌生人,远房亲戚不可访问
private 只有自己可以访问