通过公共继承方法从子类访问私有变量

时间:2020-07-13 21:02:15

标签: java inheritance

我有以下代码:

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”。实际发生了什么

1 个答案:

答案 0 :(得分:0)

使用extends关键字,子类B将能够继承超类A的所有属性,但超类的私有属性除外,但在这种情况下,借助于公共获取器get_a() ,则可以从A类访问变量a。