在java中提供有四种访问控制权限:
private<default<protected<public 。
这四种访问控制权限的定义如下:
对于public永远都可以访问,对于封装性而言主要是private、default、protected权限。
范例:观察protected访问权限。
package father;
public class Father {
// 此时定义的是protected权限
protected String msg = "www.Flyingfish.java" ;
}
范例:定义另外一个包进行该类继承
package child;
import father.Father; // 不同包
public class Child extends Father{
public void print() {
System.out.println(super.msg); // 父类中protected权限
}
}
范例:定义测试类
package test;
import child.Child;
public class TestProtected {
public static void main(String[] args) {
Child child = new Child() ;
child.print();
}
}
在不同包中,只有子类能访问父类中的protected权限。
总结:关于权限选择
1. 对于封装的描述90%使用private,只有10%会使用protected,这两个都叫封装。
2. 属性都使用private,方法都使用public.
封装性就是指private、default、protected三种权限的使用。