我有以下代码:
public class A {
private Integer a=7;
public int get_a() {
return a;
}
}
public class B extends A{
}
public class Main {
public static void main(String[] args) {
B obiect1=new B();
System.out.println( obiect1.get_a());
}
}
可变项“ a”是私有的,因此不会被类B继承,但是方法“ get_a()”是公共的,因此它将被类B继承。在“ main()”方法中,当我调用“ obiect1”时。 get_a()”会发生什么事情,因为B类没有可变的“ a”?它会在控制台上显示7,但为什么呢? B不继承可变性“ a”。实际发生了什么
答案 0 :(得分:0)
使用extends关键字,子类B将能够继承超类A的所有属性,但超类的私有属性除外,但在这种情况下,借助于公共获取器get_a() ,则可以从A类访问变量a。