关于继承的一个有关问题,请帮忙解答下
关于继承的一个问题,请帮忙解答下!
父类:
子类:
子类继承父类的属性,同一个包内的类protected修饰的属性应该都可以访问呀,还是说继承的属性不显示声明就不在子类里?
------解决思路----------------------
如果从另一个包中继承类,那么唯一可以访问的成员就是源包中的public成员,所以B继承另一个包中的A就只能访问A中的public成员,而无法访问其protected成员。但是如果在同一个包内,那么子类是可以访问基类的protected方法的。可以参照java编程思想第四版119页。
父类:
package com.aa;
public class A{
protected int a = 100;
}
子类:
import com.aa.A;
public class Test{
public static void main(String[] args){
B b = new B();
System.out.println(b.b); //输出200
System.out.println(b.a); //错误: a可以在A中访问protected
}
}
class B extends A{
protected int b = 200;
}
子类继承父类的属性,同一个包内的类protected修饰的属性应该都可以访问呀,还是说继承的属性不显示声明就不在子类里?
------解决思路----------------------
如果从另一个包中继承类,那么唯一可以访问的成员就是源包中的public成员,所以B继承另一个包中的A就只能访问A中的public成员,而无法访问其protected成员。但是如果在同一个包内,那么子类是可以访问基类的protected方法的。可以参照java编程思想第四版119页。