java - Java 中的变量继承(初学者)

标签 java variables inheritance

我有一个带有变量 bool var = true 和 getter 方法 getVar() 的类 A。 我正在尝试创建一个 B 类,它扩展 A 并将 var 重新定义为 bool var = false。代码:

public class A{
    protected boolean var = true;
    public boolean getVar(){
        return var;
    }
}

public class B extends A{
    protected boolean var = false;
}

问题是如果我执行:

B b_class = new B();
System.out.println(b_class.getVar());

我得到 true 但我不明白为什么。我做错了什么?

最佳答案

您不“继承”变量; B.var 只是隐藏了 A.var,但只隐藏在 B 中。您正在调用 getVar(),这是 A 中的一个方法,它看到 A.var,它是 true

关于java - Java 中的变量继承(初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872291/

相关文章:

bash 变量插值 用连字符或下划线分隔变量

java - this 运算符和继承中的私有(private)变量

C++ 相关的继承层次

Java将长和纬度的位置坐标转换为 double

java - Spring 应用程序失败,Autowire 在 main.class 中为 null

regex - BASH:如何将变量放入正则表达式中?

php - 如何在 "properly"中处理 $_GET 变量?

java - 应用程序中两个模块中的重复类 - 实例化类将引用哪个类?

像 Cocoa 一样的 Java TokenField?

html - Main 从 body 继承宽度