读书人

子类变量覆盖父类变量子类调用父类方

发布时间: 2012-11-16 14:12:15 作者: rapoo

子类变量覆盖父类变量,子类调用父类方法的问题
有那么个父类和子类:

Base.java:
--------------

Java code
public class Base {    public String str = "base";        public void print() {        System.out.println(str);    }}


Sub.java:
---------------
Java code
public class Sub extends Base {    public String str = "sub";        public void myPrint() {        super.print();    }}


Test.java:
---------------
public class Test {
public static void main(String[] args) {
Sub sub = new Sub();
sub.myPrint(); //这里输出"base",我是希望输出"sub"的 .......

子类不是应该覆盖父类的同名属性吗?

[解决办法]
属性,没有多态一说。只有方法才有override,才有覆盖,才有重写,才有多态
[解决办法]
属性的引用不存在多态
[解决办法]
Java code
public class Base {    public String str = "base";        public void print() {        System.out.println(getStr());    }        public String getStr() {        return str;    }}public class Sub extends Base {    public String str = "sub";        public void myPrint() {        super.print();    }        public String getStr() {        return str;    }} 

读书人网 >J2SE开发

热点推荐