当前位置: 代码迷 >> J2SE >> 子类变量覆盖父类变量,子类调用父类方法的有关问题
  详细解决方案

子类变量覆盖父类变量,子类调用父类方法的有关问题

热度:7174   发布时间:2013-02-25 00:00:00.0
子类变量覆盖父类变量,子类调用父类方法的问题
有那么个父类和子类:

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;    }}
  相关解决方案