我有一个带有变量 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/