若class TestA
{
 private int i=1;
}class TestB extends TestA
{
 private int j=2;
}class TestC extends TestB
{
 private int k=3;
}当创建TestC tc = new TestC()时,tc对象中 到底有没有它先辈们的private 变量i和j呢?
即:private型数据成员,到底能不能被继承?谁能帮助阐述个明白?谢谢。

解决方案 »

  1.   

    用private限定符修饰的变量是不可以被子类继承得到的,你可以用protected限定符号来修饰。
    你的变量i和j子类都是获取不到的。
      

  2.   

    既然:用private限定符修饰的变量是不可以被子类继承得到的,那么就是说:子类对象如上例中的tc对象中就没有变量i和j的空间了?有些费解。
      

  3.   

    我的意思是:子类对象的空间中有没有祖先们private型的变量i和j呢?若不能被继承,就是说:子类对象的空间中没有祖先们private型的变量i和j了?是不是可以这样不理解?
      

  4.   

    子类对象的空间中有祖先们private型的变量i和j呢,但是它只有所有权,而没有使用权.也就是说它空间中为PRIVAE变量分配了空间,但却无权访问它!
      

  5.   

    谢谢 jackwangzi 。谢谢大家。给大家分数。
      

  6.   

    protected 是可以被子类继承的,但private 是无法被继承(子类对private是不可见的)