大哥大姐幫我看看關於接口實現的代碼範例:
 interface Usb
 {
 public void start() ;
 public void stop() ;
 }
 class MoveDisk implements Usb
 {
 public void start()
 {
 System.out.println("MoveDisk start...") ;
 }
 public void stop()
 {
 System.out.println("MoveDisk stop...") ;
 }
 }
 class Mp3 implements Usb
 {
 public void start()
 {
 System.out.println("Mp3 start...") ;
 }
 public void stop()
 {
 System.out.println("Mp3 stop...") ;
 }
 }
 class Computer
 {
 public void work(Usb o)
 {
 o.start() ;
 o.stop() ;
 }
 }
 class test
 {
 public static void main(String[] args)
 {
 new Computer().work(new MoveDisk());
 new Computer().work(new Mp3());
 }
 }
大哥大姐幫我解釋下
class Computer
 {
 public void work(Usb u)
 {
 u.start() ;
 u.stop() ;
 }
 }

 new Computer().work(new MoveDisk());
 new Computer().work(new Mp3());

解决方案 »

  1.   

    紅色字體部份要怎麼理解..小弟剛學Java,請幫忙解釋下
      

  2.   

    class Computer
     {
     public void work(Usb u) //参数是接口,所以实现Usb接口的类都可以用来作参数
     {
     u.start() ;
     u.stop() ;
     }
     }
    new Computer().work(new MoveDisk());//因为MoveDisk,Mp3都实现Usb的接口,所以可以作为参数
    new Computer().work(new Mp3());
      

  3.   


    new Computer().work(new MoveDisk());
    new Computer().work(new Mp3());
    //就是这样的缩写,前2句就是面向接口编程的思想,后2句就是正常的调用方法
    Usb usb1 = new MoveDisk();
    Usb usb2 = new Mp3();
    new Computer().work(usb1);
    new Computer().work(usb2);
      

  4.   

    (Usb u):Usb是不是声明一对象u
    new Computer().work(new MoveDisk()):是不是都是匿名实例化