读书人

子类怎么重写父类变量

发布时间: 2012-03-20 14:01:10 作者: rapoo

子类如何重写父类变量
本来是做c#.net的,对java略知皮毛而已,有个基础问题弄不明白

java子类如何重写父类变量

Java code
class ParentClass {  public String AAA = "111";  public void say(){    System.out.println(AAA);  }}class SubClass {  public String AAA = "777";}class TestClass {  public void main(){    SubClass sub = new SubClass();    sub.say();  }}


大概是这样吧。TestClass里输出的貌似是“111”吧,我希望的是子类能覆盖父类,

子类重写AAA,new子类,输出的是子类重写的内容

[解决办法]
class SubClass extends ParentClass {
public SubClass() {
super.AAA = "777";
}
}
[解决办法]
Java code
class ParentClass{    private String AAA = "111";    public void setAAA(String s){        AAA = s;    }    public void say(){        System.out.println(AAA);    }}class SubClass extends ParentClass {}class TestClass {    public static void main(final String[] args){        SubClass sub = new SubClass();        sub.setAAA("777");        sub.say();    }}
[解决办法]
这个因为是通过父类方法say去访问被覆盖的属性的话不会动态绑定的
[解决办法]
只有方法才有重写一说,变量没有

读书人网 >Java相关

热点推荐