package oopinterface;
public class USBTest {
public static void main(String[] args) {
Computer computer = new Computer();
// 1.接口的非匿名实现类的非匿名对象
Flash flash = new Flash();
computer.transformData(flash);//多态
System.out.println("=====================================");
// 2.接口的非匿名实现类的匿名对象
computer.transformData(new Printer());
System.out.println("=====================================");
// 3.接口的匿名实现类的非匿名对象
USB phone = new USB() {//多态 接口本身不能够实例化
@Override
public void start() {
System.out.println("接口的匿名实现类的非匿名对象");
System.out.println("手机开启工作");
}
@Override
public void end() {
System.out.println("接口的匿名实现类的非匿名对象");
System.out.println("手机结束工作");
}
};
computer.transformData(phone);
System.out.println("=====================================");
// 4.接口的匿名实现类的匿名对象
computer.transformData(new USB() {//多态 接口本身不能够实例化
@Override
public void start() {
System.out.println("接口的匿名实现类的匿名对象");
System.out.println("手柄开启工作");
}
@Override
public void end() {
System.out.println("接口的匿名实现类的匿名对象");
System.out.println("手柄结束工作");
}
});
}
}
class Computer {
public void transformData(USB usb) {
usb.start();
usb.end();
}
}
interface USB {
public abstract void start();
public abstract void end();
}
class Flash implements USB {
@Override
public void start() {
System.out.println("U盘开启工作");
}
@Override
public void end() {
System.out.println("U盘结束工作");
}
}
class Printer implements USB {
@Override
public void start() {
System.out.println("打印机开启工作");
}
@Override
public void end() {
System.out.println("打印机结束工作");
}
}
接口的匿名实现类对象
于 2021-05-27 21:14:07 首次发布