您的位置:首页 > 其它

关于子类继承父类后调用方法的问题

2011-03-29 21:36 495 查看
1,看下面一段代码

class ParentClass {
public String msg = "I am a attribute in ParentClass.";

public String getMsg() {
return msg;
}
}

class ChildrenClass extends ParentClass {
public String msg = "I am a attribute in ChildrenClass.";
}

public class TestClass {
public static void main(String[] args) {

ParentClass p = new ParentClass();
ChildrenClass c = new ChildrenClass();

System.out.println(p.getMsg());
System.out.println("");
System.out.println(c.getMsg());//没有重写,还是调用父类中的方法。
}
}


输出结果是:

I am a attribute in ParentClass.

I am a attribute in ParentClass.

在子类没有重写父类中的方法时,调用的是父类中的方法,在调用方法时,总是先去找有没有子类扩展的方法,如果没有就去父类中找,这里子类并没有扩展父类的方法。

2,动态绑定

当创建子类的对象的时候(new 子类()) 在左边给的是父类的引用,即 父类 引用名 = new 子类()

系统动态绑定了引用的实际类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: