java中的protacted权限和缺省(包)访问权限:
protacted权限支持继承访问和包访问权限
缺省权限支持包访问两者都不支持跨包访问,也就是说,A类有个protected方法f(),在同一个包里,不管其他类是不是继承自A类,
都可以访问f();在不同的包里,不管其他类是不是继承自A类,都无法访问f();那么两者的区别是什么????????????
protacted权限支持继承访问和包访问权限
缺省权限支持包访问两者都不支持跨包访问,也就是说,A类有个protected方法f(),在同一个包里,不管其他类是不是继承自A类,
都可以访问f();在不同的包里,不管其他类是不是继承自A类,都无法访问f();那么两者的区别是什么????????????
缺省权限支持包访问
package db;public class test2 {
protected void show(){//protected方法
System.out.println("protected");
}
}package test;
import db.test2;
public class Test extends test2 {//继承
public void myshow(){
//test2 t=new test2();
//t.show();
this.show();//这里是可以访问到父类的protected的方法
//但是如果该类不继承test2类的话, //t.show();是无法调用的
//缺省在其它包我就不说了
}
}
上面可以得出:protected修饰方法可以在同包任何类访问,但是在其它包需要继承该类,才能访问该类protected成员
缺省不能再其它包访问
http://zhangjunhd.blog.51cto.com/113473/19287
23、 Default可以定义方法和属性,可以在本包的任意位置访问。
24、 Protected可以定义方法和属性,但是不能被不同包的非子类访问。
25、 Public可以让所有的方法和类访问。