关于子类继承父类后调用方法的问题
2011-03-29 21:36
495 查看
1,看下面一段代码
输出结果是:
I am a attribute in ParentClass.
I am a attribute in ParentClass.
在子类没有重写父类中的方法时,调用的是父类中的方法,在调用方法时,总是先去找有没有子类扩展的方法,如果没有就去父类中找,这里子类并没有扩展父类的方法。
2,动态绑定
当创建子类的对象的时候(new 子类()) 在左边给的是父类的引用,即 父类 引用名 = new 子类()
系统动态绑定了引用的实际类型。
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 子类()
系统动态绑定了引用的实际类型。
相关文章推荐
- 关于子类继承父类后调用方法的问题
- 子类继承父类时,创建对象,构造方法的调用问题
- 关于子类调用父类构造方法的问题
- 关于Java中子类能否继承和重写父类的静态方法问题
- C++关于子类调用父类的构造方法的问题
- java中关于子类实例化时调用父类无参构造方法的问题
- 关于C++中子类调用父类方法的一个问题
- 关于继承时子类重写父类方法和覆盖父类变量的若干问题 (待进一步研究)
- 关于子类继承父类,父类调用被子类重载的方法是输出什么
- 关于C++中子类调用父类方法的一个问题
- 关于类继承中子类方法比父类方法丰富,一个引用值传递的小问题
- java中子类继承父类自动调用父类无参构造方法的问题
- [cocos2d-x]关于update回调,以及继承后子类调用父类的Update处理的问题
- java继承时候关于父类中的静态方法的问题
- leetcode:Peeking Iterator 迭代器继承,父类调用子类方法
- java类继承中父类调用子类函数的问题
- 继承中,父类和子类构造方法初始化所遇问题
- Java编程关于子类重写父类方法问题的理解
- Java对象初始化步骤&&子类继承父类后变量与方法调用情况
- c# 关于基类和子类的方法调用问题--总结