Java私有变量是否可继承

Java 父类中权限为private的私有变量,子类对象继承后,在其内存中其实也有该变量存在,只是不能直接引用该变量,而是需要通过调用父类public或protected的setget等方法使用该变量。

--->父类中的private变量在不同子类中是不同的对象存在。

一个直观的继承图:

Java私有变量是否可继承

 

 

 

public class Test{ 
    public static void main(String[] args){
        Sub1 s1 = new Sub1();
        s1.p();
        Sub2 s2 =  new Sub2();
        s2.p();
    }
}
 
//父类
class Sup{ private Object object= new Object(); public void p(){ System.out.println("object= " + object); } }
//子类
class Sub1 extends Sup{ } //子类 class Sub2 extends Sup{ }

输出:

  object = [email protected]
  object = [email protected]