对象a的位置 |
private |
友好 |
protected |
public |
在类A中,a访问成员 |
允许 |
允许 |
允许 |
允许 |
在于A同包的另一个类a访问成员 |
不允许 |
允许 |
允许 |
允许 |
在于A不同包的另外一个类中a访问成员 |
不允许 |
不允许 |
不允许 |
允许 |
public :可以修饰类、成员变量和成员函数,不同包不同类都能自由访问
private:可以修饰成员变量和成员函数,只能够在本类中访问
友好(default): 可以修饰类、成员变量和成员函数,包级别访问权限;在同一包内的可以自由访问,不同包不能访问,不写修饰符就是default权限,即默认的为default
protected:(和default功能一样,但只能修饰成员变量和成员函数子类和父类如果不在同一个包中,子类也可使用父类的protected 变量和函数,如果两类没有任何关系,就不可访问
关于构造方法,如果一个类没有明确声明构造方法,那public类的默认构造方法是public。
友好的是友好。
public > protected > default > private