java案例开发打印机
时间: 2024-09-06 19:01:52 浏览: 20
在Java中,我们可以创建一个简单的打印类和相关的多态实例,来演示如何使用多态打印不同类型的对象。例如,可以设计一个抽象的`Printer`类,它包含一个通用的`print`方法:
```java
// 抽象Printer类
abstract class Printer {
public abstract void print(Object obj);
}
```
然后,我们为具体的打印机如激光打印机`LaserPrinter`、喷墨打印机` InkJetPrinter`等创建子类,并覆盖父类的`print`方法:
```java
class LaserPrinter extends Printer {
@Override
public void print(Object obj) {
System.out.println("激光打印机正在打印: " + obj.toString());
}
}
class InkJetPrinter extends Printer {
@Override
public void print(Object obj) {
System.out.println("喷墨打印机正在打印: " + obj.toString());
}
}
```
接下来,在主程序中,我们可以创建一个`Printer`类型的数组,存储各种类型的打印机实例,并通过它们的父类引用调用`print`方法:
```java
public static void main(String[] args) {
Printer[] printers = new Printer[2];
printers[0] = new LaserPrinter();
printers[1] = new InkJetPrinter();
for (Printer printer : printers) {
printer.print(new String("Hello, World!")); // 多态在这里起作用,传入任意对象都能被正确打印
}
}
```
在这个例子中,尽管调用的是相同的`print`方法,但由于多态性,每个子类都有其特定的实现,所以会根据实际的对象类型输出相应的信息。