多态、对象转型
- 对象转型:可使用引用变量instanceof+类名来判断该引用类型变量所“指向”的对象是否属于该类或该类的子类。如Animal a = new Dog(); a.furname();(furname为Dog内部的方法),则,如果需要访问它,需要强制转换:Dog d =(Dog) a; d.furname; ……………… 即:一、如果将子类对象当做父类对象来看,只能调用父类的属性和方法。二、如果子类把父类的方法覆盖了,再把子类对象当做父类对象来看,去调用该方法,调用的是覆盖后的方法(子类中定义的方法)………………如:Animal a = new Horse(); a.eat();…………调用的是马吃草;
- 面向对象的核心机制:动态绑定(多态):多态满足的条件,一是要有继承;二是要重有重写;三是父类引用指向子类对象。使用多态有可扩展性的好处。
posted on 2009-10-28 22:51 Alan's Blog 阅读(386) 评论(0) 编辑 收藏 举报