package interface_test;
public class UsbTest {
public static void main(String[] args) {
Computer computer = new Computer();
//1.创建了接口的非匿名实现类的非匿名对象
Flash flash = new Flash();
computer.transferDate(flash);//Usb usb = new Flash();体现接口多态性
//2.创建接口的非匿名实现类的匿名对象
computer.transferDate(new Printer());
//3.创建了接口的匿名实现类的非匿名对象
Usb phone = new Usb() {
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("手机里面开始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("手机停止工作");
}
};
computer.transferDate(phone);
//4.创建了接口的匿名实现类的匿名对象
computer.transferDate(new Usb() {
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("fax开始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("fax停止工作");
}
});
}
}
class Computer{
public void transferDate(Usb usb) {
usb.start();
System.out.println("中间细节省略");
usb.stop();
}
}
interface Usb{
void start();
void stop();
}
interface A{
}
class Flash extends B implements Usb,A{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("U盘开始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("U盘结束工作");
}
}
class Printer implements Usb{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("打印机开始打印");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("打印机结束打印");
}
}
class B{
}
原文:https://www.cnblogs.com/nxnxxn/p/14181683.html