抽象类:1:BlackPrinter 实现 Printable ,print输出:黑白打印;2:ColorPrinter 实现 Printable ,print输出:彩色打印
具体类:1:LaserPrinter,继承 BlackPrinter,输出:黑白打印,激光打印;具体类 2:JetInkPrinter 继承 ColorPrinter ,print输出:彩色打印,喷墨打印
测试类:声明接口Printable 变量p,new一个激光打印机,一个喷墨打印机,分别用p指向两个打印机,用p调用print方法
https://blog.csdn.net/m0_46824767/article/details/105697794 试试?
interface Printable {
void print();
}
class BlackPrinter implements Printable {
@Override
public void print() {
System.out.println("黑白打印");
}
}
class ColorPrinter implements Printable {
@Override
public void print() {
System.out.println("彩色打印");
}
}
class LaserPrinter extends BlackPrinter {
@Override
public void print() {
super.print();
System.out.println("激光打印");
}
}
class JetInkPrinter extends ColorPrinter {
@Override
public void print() {
super.print();
System.out.println("喷墨打印");
}
}
public class Test {
public static void main(String[] args) {
LaserPrinter laserPrinter = new LaserPrinter();
JetInkPrinter jetInkPrinter = new JetInkPrinter();
Printable p = laserPrinter;
p.print();
p = jetInkPrinter;
p.print();
}
}