Java Interface 接口



UsbInterface.java
package com;
public interface UsbInterface {
  abstract public void start();
  abstract public void stop();
}
Camera.java
package com;
public class Camera implements UsbInterface{
  @Override
  public void start(){
    System.out.println("camera start");
  }
  @Override
  public void stop(){
    System.out.println("camera stop");
  }
}
Phone.java
package com;
public class Phone implements UsbInterface{
  @Override
  public void start() {
    System.out.println("phone start");
  }
  @Override
  public void stop() {
    System.out.println("phone stop");
  }
}
Computer.java
package com;
public class Computer {
  public void work(UsbInterface usbInterface){
    usbInterface.start();
    usbInterface.stop();
  }
}
Test.java
package com;
import org.jetbrains.annotations.NotNull;
public class Test {
  public static void main(String @NotNull [] args) {
    Camera camera = new Camera();
    Phone phone = new Phone();
    Computer computer = new Computer();
    computer.work(camera);
    computer.work(phone);
  }
}
DBInterface.java
package com;
public interface DBInterface {
  public void connect();
  public void close();
}
MySQL.java
package com;
public class MySQL implements DBInterface {
  @Override
  public void connect() {
    System.out.println("connect MySQL");
  }
  @Override
  public void close() {
    System.out.println("stop MySQL");
  }
}
Oracle.java
package com;
public class Oracle implements DBInterface {
  @Override
  public void connect() {
    System.out.println("connect oracle");
  }
  @Override
  public void close() {
    System.out.println(("stop oracle"));
  }
}
Test.java
package com;
import org.jetbrains.annotations.NotNull;
public class Test {
  public static void main(String @NotNull [] args) {
    MySQL mySQL = new MySQL();
    Oracle oracle = new Oracle();
    test(mySQL);
    test(oracle);
  }
  public static void test(DBInterface dbInterface) {
    dbInterface.connect();
    dbInterface.close();
  }
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号