1、创建了接口的非匿名实现类的非匿名对象
2、创建了接口的非匿名实现类的匿名对象
3、创建了匿名实现类的匿名对象
4、创建了接口的匿名实现类的匿名对象
public class USBTest {
public static void main(String[] args) {
Computer computer = new Computer();
Flush flush = new Flush();
computer.TraansferData(flush);
computer.TraansferData(new Printer2());
USB phone = new USB() {
@Override
public void start() {
System.out.println("手机开始接收到USB 信息");
}
@Override
public void stop() {
System.out.println("手机停止接收到USB 信息");
}
};
computer.TraansferData(phone);
computer.TraansferData(new USB() {
@Override
public void start() {
System.out.println("MP3 开始从电脑段下载歌曲");
}
@Override
public void stop() {
System.out.println("MP3 停止从电脑端下载歌曲");
}
});
}
}
class Computer {
public void TraansferData(USB usb) {
usb.start();
System.out.println("具体数据的传输");
usb.stop();
}
}
interface USB {
void start();
void stop();
}
class Flush implements USB {
@Override
public void start() {
System.out.println("USB 开始工作.");
}
@Override
public void stop() {
System.out.println("USB 停止工作.");
}
}
class Printer2 implements USB {
@Override
public void start() {
System.out.println("打印机开始工作了。。。");
}
@Override
public void stop() {
System.out.println("打印机停止工作了");
}
}