四种权限修饰符。从大到小
纵向再分成四种情况
同一个类
同一个类里面。private方式,可以访问到本类里面的 num成员变量
前面不写修饰符也能访问到
(default)就是不写的这种情况
受保护的。本类的也能访问
public更可以访问了。
private说的是同一个类里面可以访问。所以只要比private大 都是可以访问的。前面三个都比private范围大
同一个包
public
定义一个MyAnother类。
MyClass和MyAnother是在同一个包内,也没有继承关系。是邻居关系
可以访问到MyClass里面的num成员变量
protected
把num改成protected
同一个包内 可以访问
default
修饰符删掉不写
也可以访问
private
num变红,表示不能访问
总结
不同包子类
现在MyClass的类是这样的
在这个包下面新建sub的子包。里面新建类MySon,继承MyClass这个父类,可以看到是需要引入对应的包的,同一个包中不需要导包语句,但是现在这两个类不在同一个包里面。
这两个类 不是在同一个包里面。
public
可以访问到父类的public的成员变量
protected
default
访问不到了
private就更不用试了
总结:
不同包非子类
创建一个Stranger陌生人类
default
不能访问
protected
public
可以访问
总结