
答案
当子类与父类不在同一包中,父类中使用private修饰符修饰的成员变量和友好的成员变量不会被继承,也就是子类只能继承父类中使用public和protected访问修饰符修饰的成员变量作为子类的成员变量,同样,子类也只能继承父类中使用public和protected访问修饰符修饰的方法作为子类的方法。
在一个类A中,它所定义的成员变量和方法都被protected所修饰,类A被类B、类C继承,那么在类B与类C中都继承了类A的成员变量和方法。这时,如果在类C中创建一个自身的对象,那么该对象可以访问父类的和自身定义的protected修饰的变量和方法。但是在其他类中,比如Student类,对于子类C自己声明的protected成员变量和方法,只要Student类与C类在同一包中,创建的对象就可以访问这些被protected修饰的成员变量和方法。对于子类C从父类中继承的protected成员变量和方法,只要Student类与C类的父类在同一包中,创建的对象就能够访问继承的protected成员变量和方法。