Alan's Blog

导航

多态、对象转型

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

posted on 2009-10-28 22:51  Alan's Blog  阅读(385)  评论(0编辑  收藏  举报