java中受保护访问

1.在java中,保护字段对所有子类以及同一包中的所有其它类都可见。现考虑一个父类A,和子类B,C,子类与父类不在同一个包中。B类中的方法只能查看B类对象自己的保护属性,而不能查看其它A类,或A类其它子类C对象的保护属性。

说简单一点, 在B类里面,自己可以用保护属性,或者创建一个B类对象去用保护属性。但是不能创建一个A类对象去用保护属性。

2.受保护的方法更有实际意义。如果需要限制某个方法的使用,就可以将它声明为受保护的。这表明子类得到了信任,可以正确使用这个方法,而其它类不行。

这种方法的一个很好的例子就是Object类的clone方法,有兴趣可以去看看源码。
下面是测试用的代码。

package com.fu.demo;
public class employee {
    
    
    protected int num;
}
package com.fu.demo.test;
import com.fu.demo.employee;
class a extends employee {
    
    
 
    void f(){
    
    
        /*employee e=new employee("aa",10,new Date());
        e.num=50;*/
       /* a e=new a("aa",10,new Date());
        e.num=50;*/
        num=50;
    }
}

猜你喜欢

转载自blog.csdn.net/changbaishannefu/article/details/112306978