Java访问权限修饰词主要有public protected private以及默认修饰权限包访问权限
1、包访问权限
默认访问权限没有任何关键字,但通常指包访问权限,意味着当前的包中的所有其他类对那个成员都有访问权限。
2、public 接口访问权限
public访问权限及任何都可以访问该成员
3、protected继承访问权限
只有继承该类的才可访问该成员
特别注意,子类对象可以访问protected,但父类对象不可访问父类的protected。
4、private访问权限
除了包含该成员的类之外,其他任何类都无法访问该成员。
访问修饰符 |
同一个类 |
同包 |
不同包,子类 |
不同包,非子类 |
private |
√ |
|
|
|
protected |
√ |
√ |
√ |
|
public |
√ |
√ |
√ |
√ |
默认 |
√ |
√ |
|
|
Test3.java
package 1class MyObject3 {protected Object clone() throws CloneNotSupportedException { return super.clone(); }} package 2public class Test3 extends MyObject3 { public static void main(String args[]) { MyObject3 obj = new MyObject3(); obj.clone(); // Compile error. Test3 tobj = new Test3(); tobj.clone();// Complie OK. }} |
类的访问权限只有两种包访问权限和public访问权限