概念:
行为的多态:
同一类型的引用指向不同的对象时,有不同的实现
对象的多态:
同一对象被造型为不同的类型时,有不同的功能
例子:
public static void main(String[] args) {
Person person = new Doctor();
person.cut();
person = new Barber();
person.cut();
person = new Cooker();
person.cut();
}
}
abstract class Person { //人
public abstract void cut();
}
class Barber extends Person { //理发师
public void cut() { //剪发
System.out.println("我是理发师,我在剪发……");
}
}
class Doctor extends Person { //医生
public void cut() { //手术
System.out.println("我是医生,我在做手术……");
}
}
class Cooker extends Person { //厨师
public void cut() { //切菜
System.out.println("我是厨师,我正在切菜……");
}
}
运行结果:
我是医生,我在做手术……
我是理发师,我在剪发……
我是厨师,我正在切菜……