public :最大的,公共的,共同访问的
private:最小的,只能在本类中访问
default:默认的,只能在本包中访问
protected:在本包,以及不同包的子类中可以访问
No | 作用域 | private | default | protected | public |
1 | 本类 | √ | √ | √ | √ |
2 | 同一包的类 | √ | √ | √ | |
3 | 不同包的子类 | √ | √ | ||
4 | 不同包的非子类 | √ |
来验证protected 访问权限
package org.demo1;
public class DemoA{
proctected String name = "hello";
}
之后在demo2 包中的子类去访问DemoA中的name 属性
package org.demo2
import org.demo1.*;
class DemoB extends DemoA{
System.out.println(super.name);
}
public class TestDemo{
public static void main(String args[]){
DemoB d = new DemoB();
d.print();
d.name = "";
}
}