Bob*_*obs 1 java inheritance class
我有这两个类:
Class A
{
public int max = 100;
public int getMax()
{
return max;
}
}
Class B extends A
{
public int max = 200;
}
Run Code Online (Sandbox Code Playgroud)
我写下面的代码:
A clsA = new A();
B clsB = new B();
valA = clsA.getMax();
valB = clsB.getMax();
Run Code Online (Sandbox Code Playgroud)
valA是100 valB再次是100
如何编写clsB.getMax();返回200的代码?
您可以在B类中覆盖getMax:
@Override
public int getMax()
{
return max;
}
Run Code Online (Sandbox Code Playgroud)
虽然,一般来说,在超类和子类中使用具有相同名称的变量是个坏主意.
请注意,更改后,以下内容也将返回200:
A clsB = new B();
valB = clsB.getMax();
Run Code Online (Sandbox Code Playgroud)