定义一个抽象的打印机类Printer
有属性color,有抽象方法Print()方法;定义一个其具体的ColorPrinter子类,实现Print(),当color属性为“彩色”,则实现彩色打印;如果为“黑白色”,则实现黑白打印。
public abstract class Printer {
private String color;
public Printer(String color) {
super();
this.color = color;
}
public String getColor() {
return color;
}
public abstract String print() ;
}
class ColorPrinter extends Printer {
public ColorPrinter(String color) {
super(color);
}
public String print() {
switch (getColor()) {
case "彩色":
System.err.println("------------------"+getColor()+"打印"+"----------------------");
break;
case "黑白色":
System.out.println("------------------"+getColor()+"打印"+"----------------------");
break;
default:throw new Error("所输入颜色不合规则!!!");
/*保证了输入彩色,在控制台得出的结果字体为红色,
输入黑白色,得到的结果为黑色,
输入其他内容,以不合规则为由报错。*/
}
return getColor();
}}
//main函数进行测试:
class PrinterTest{
public static void main(String[] args) {
// TODO Auto-generated method stub
Printer printer=new ColorPrinter("彩色");
printer.print();
}}
运行结果:
------------------彩色打印----------------------
对小编的代码有兴趣的朋友们快快关注我吧~