什么是多态:多态(Polymorphism)是具有表现多种形态的能力的特征。更专业化的说法
是:同一个实现接口,使用不同的实例而执行不同的操作。
多态三要素:
一定要有继承
一定要重写
父类的指针 指向子类的对象。
案例:如一个打印机对象, 可能是黑白打印机对象, 也可能是彩色打印机对象,还可能是3D打印机
一个打印机对象,拥有的 多种状态
Printer printer = new BlackPrinter();
*/
class Person
{
//使用打印机进行打印的行为
//(1)打印文件,需要黑白打印机
void usePrinter(Printer printer){// Printer printer = new BlackPrinter();
System.out.println("人在使用打印机");
printer.print(); // 打印方法 print方法的调用者 实际上是 传过来的子类对象
}
}
好处:通过多态可以减少类中代码量,可以提高代码的可扩展性和可维护性。继承是多态的
基础,没有继承就没有多态。