Java私有变量是否可继承
Java 父类中有private私有变量,子类对象的内存中也有该变量存在,但是不能直接引用该变量,而是需要通过调用父类public或protected的set或get等方法使用该变量。
父类中的private变量在不同子类中是不同的对象存在。
import java.util.*; import java.lang.Integer; public class PSuperTest{ public static void main(String[] args){ Sub1 s1 = new Sub1(); s1.p(); Sub2 s2 = new Sub2(); s2.p(); } } class Sup{ private Object aa = new Object(); public void p(){ System.out.println("aa = " + aa); } } class Sub1 extends Sup{ } class Sub2 extends Sup{ }
输出为:
aa = java.lang.Object@527c6768 aa = java.lang.Object@525483cd
即不同的子类中拥有不同的该私有变量对象。