protected references in Java

This question already has an answer here:

  • Understanding java's protected modifier 6 answers
  • In Java, difference between package private, public, protected, and private 26 answers

  • A protected member can be accessed in a subclass outside the package only through inheritance. Try this instead :

    public class C extends A {
    
        void foo() {
           int b = i;  
        }
    }
    

    There are no needs to make a reference every time. I think you didn't understand Inheritence..

    public class B extends A {
    
        void foo() {
           // A a = new A(); No need to instantiate it here as B extends A
            int b = i;  //No nedd to refer it through a.a.i  
        }
    }
    
    package another.pac;
    
    public class C extends A {
    
        void foo() {
            C c=new C();
            int d=c.i//this will work fine
           //   A a = new A(); same as above explanation
            int b = i;  //same as above and even a.i will not compile
        }
    }
    

    Now Your protected variable will be accessible here..


    Class A is apart of package pac;

    and Class C is apart of package another.pac therefore it will be unable to access its member. If C is apart of package pac then it would be able to access the member

    See the following post: In Java, difference between default, public, protected, and private

    链接地址: http://www.djcxy.com/p/24076.html

    上一篇: 在java类中声明一个变量(private,static,final)

    下一篇: Java中受保护的引用