Java 设计一个抽象类Printer和它的两个子类BlackPrinter(黑白打印机)和ColorPrinter(彩色打印机)

设计一个抽象类Printer和它的两个子类BlackPrinter(黑白打印机)和ColorPrinter(彩色打印机)

要求如下:
(1) 抽象类Printer有brand(品牌)属性,一个包含一个参数的构造方法,用于给brand属性赋值,一个抽象方法print(String file)输出打印机正在打印文件的信息。
(2) 类BlackPrinter(黑白打印机)重写print(String file)方法,例如输出:惠普牌打印机正在黑白打印简历。
(3) 类ColorPrinter(彩色打印机)重写print(String file)方法,例如输出:佳能牌打印机正在彩色打印简历。
(4) 在测试类中创建一个静态方法printFile(Printer p,String file),调用变量p的print方法。
(5) 在测试类main()方法中分别创建BlackPrinter对象和ColorPrinter对象,将其传入方法printFile(Printer p,String file)中,查看输出结果。

抽象类:

public abstract class Printer {
private  String brand;
public Printer(String brand) {
  super();
  this.brand = brand;
  }
  public String getBrand() {
  return brand;
  }
  public void setBrand(String brand) {
  this.brand = brand;
  }
  public abstract void print(String file);  //抽象方法
  }

BlackPrinter类:

public class BlackPrinter extends Printer {
public BlackPrinter(String brand) {
  super(brand);
  // TODO Auto-generated constructor stub
  }
  @Override
 public void print(String file) {
 // TODO Auto-generated method stub
  System.out.println(getBrand()+"打印机正在黑白打印"+file);
  }}

ColorPrinter类:

public class ColorPrinter extends Printer {
public ColorPrinter(String brand) {
super(brand);
  // TODO Auto-generated constructor stub
  }
  @Override
 public void print(String file) {
  // TODO Auto-generated method stub
  System.out.println(getBrand()+"打印机正在彩色打印"+file);
  }}

测试类:

public class PrinterTest {
public static void printFile(Printer p,String file) {
p.print(file);
}
public static void main(String[] args) {
Printer blackPrinter=new BlackPrinter("惠普牌");
  printFile(blackPrinter, "简历");

Printer colorPrinter=new ColorPrinter("佳能牌");
  printFile(colorPrinter, "简历");
  }}

运行结果:

惠普牌打印机正在黑白打印简历
佳能牌打印机正在彩色打印简历

喜欢博主代码的朋友们记得点赞关注小编哟~

你可能感兴趣的:(java,Java小白必学题)