package InterfactTest;
public class InterfaceTest {
    public static void main(String[] args) {
         // TODO Auto-generated method stub
         Computer com  = new Computer(); 
         
         com.transferData(new Print()); //创建了非匿名实现类的匿名对象
         
         Flash flash = new Flash(); //创建了非匿名实现类的非匿名对象
         com.transferData(flash);
         
         com.transferData(new USB() {
            @Override
             public void start() {
                 System.out.println("手机开始工作");
                 
             }
            @Override
             public void end() {
                 // TODO Auto-generated method stub
                 System.out.println("手机结束工作");
             }
             
         }); //创建了匿名实现类的匿名对象
         
         
         //创建了匿名实现类的非匿名对象
         USB dataLine = new USB(){
            @Override
             public void start() {
                 System.out.println("数据线开始工作");
                 
             }
            @Override
             public void end() {
                 // TODO Auto-generated method stub
                 System.out.println("数据线停止工作");
             }
             
         };
         com.transferData(dataLine);
         
         
         
         
     }
}
class Computer {
     
     public void transferData(USB usb) {
         usb.start();
         System.out.println("开始传输数据");
         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() {
         // TODO Auto-generated method stub
         System.out.println("U盘结束工作");
         
     }
 }
class Print implements USB{
    @Override
     public void start() {
         // TODO Auto-generated method stub
         System.out.println("打印机开始工作");
     }
    @Override
     public void end() {
         // TODO Auto-generated method stub
         System.out.println("打印机结束工作");
     }
     
 }