java 继承变量_用java中的变量继承
任何人都可以澄清我.這里實例方法被覆蓋但變量不被覆蓋.
輸出為:B 10
class A{
int i=10;
public void name(){
System.out.println("A");
}
}
class B extends A{
int i=20;
public void name(){
System.out.println("B");
}
}
public class HelloWorld {
public static void main(String[] args){
A a = new B();
a.name();
System.out.println(a.i);
}
}
解決方法:
你不能覆蓋屬性,你只能覆蓋方法:
public class A{
private int i=10;
public void name(){
System.out.println("A");
}
public int getI(){
return i;
}
}
public class B extends A{
private int i=20;
public void name(){
System.out.println("B");
}
@Override
public int getI(){
return i;
}
}
public class HelloWorld {
public static void main(String[] args){
A a = new B();
a.name();
System.out.println(a.getI());
}
}
在您的示例中,將變量a定義為類型A,以便忽略B中的i值.
標簽:java,variables,instance,inheritance
來源: https://codeday.me/bug/20190823/1698918.html
總結
以上是生活随笔為你收集整理的java 继承变量_用java中的变量继承的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java线程的优点_Java使用多线程的
- 下一篇: 现代软件工程 - 代码量等于树叶量