java - 使用继承概念访问实例变量

标签 java inheritance

我在这里使用继承概念。我已将 A 类(父类(super class))扩展为 B 类(子类)。我创建了一个子类的对象,并使用该对象调用了 add() 方法。但它正在打印值 5(Super Class)。 为什么它不采用子类的值 10 ?

class A{
    int a=5;

    public void add(){
        System.out.println(a);
    }
}
class B extends A{
    int a=10;


}
public class InheritExample {

    public static void main(String args[]){
        B b1=new B();
        b1.add();
    }
}

感谢帮助。 谢谢。

最佳答案

没有实例变量的覆盖。重写仅适用于实例方法。因此,类 A 的方法 add 只能访问 A 中声明的 a 变量,即使您为类 B 的实例调用该方法。

关于java - 使用继承概念访问实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316558/

相关文章:

JavaFX:拉伸(stretch)选项卡以适应父 TabPane

java - 从类名动态创建 java 对象,并使用带有数据的列表设置类字段

c++ - 关于 C++ 编程语言的问题

c# - 当涉及泛型时,如何正确地将我的子类转换为其基类?

PHP 命名空间覆盖 Use 语句

ios - Swift,类的多重继承

css - LESS CSS继承帮助

Java 8 Streams API 和 Stack 类

java - 如何检索 Java 反射的子类?

java - 对 URL 上的 GET 参数进行编码