多态:不同的对象对同一行为做出的不同相应
基于同一父类,不同实例,调用同一方法,实现不同的功能
实现多态的三要素:
1.基于继承或实现
2.必须重写父类的方法
3.父类引用指向子类对象:
父类 对象 = new 子类();
例子:
Printer.java:
package com.lqh.chapter03;
public class Printer {
public void print() {
}
}
PrinterColor.java:
package com.lqh.chapter03;
public class PrintColor extends Printer {
//重写父类的方法
public void print() {
System.out.println("彩色打印");
}
}
PrintBlackAndWhite.java:
package com.lqh.chapter03;
public class PrintBlackAndWhite extends Printer {
//重写父类的方法
public void print() {
System.out.println("黑白打印");
}
}
PrinterTest.java:
package com.lqh.chapter03;
public class PrinterTest {
public static void click(Printer printer) {
printer.print();
}
public static void main(String[] args) {
click(new PrintColor());
click(new PrintBlackAndWhite());
}
}
输出结果为:
彩色打印
黑白打印