Java 中的接口

Java 面向对象编程入门

Sani Yusuf

Lead Software Engineering Content Developer

继承的局限性

  • 使用继承时,所有成员都会被继承
  • 无法选择性继承成员

  // Car 类   
  class Car {
    // 电池容量仅适用于电动车
    public int batteryCapacity;
    void drive() {

    }  

  }


  // Toyota 类
  class Toyota extends Car {  
    void drive(){

    }           
  }


// Main 类 public static class Main { public static void main(String[] args) { Toyota myToyota = new Toyota(); // 所有汽车都会继承 "batteryCapacity" // 即使不是电动车 System.out.println( myToyota.batteryCapacity); // 不适用 } }
Java 面向对象编程入门

创建接口

  • 接口可用于选择性继承属性和方法
  • 类通过 implements 使用接口

  // ElectricCar 接口 
  interface ElectricCar {

  }





  // Tesla 实现
  // ElectricCar 接口
  class Tesla implements ElectricCar {

  }








Java 面向对象编程入门

为接口添加属性

  • 属性按约定使用 UPPER_SNAKE_CASE
  • 值需立即赋予,且不可更改
  • 属性在底层为 public static final

  interface ElectricCar {
    // 隐式为 public static final
    // 不可更改
    int BATTERY_CAPACITY = 310;

  }




Java 面向对象编程入门

为接口添加方法

  • 接口通常用于声明方法
  • 方法默认是 abstract,无实现
  • 接口可包含有实现的具体方法
  • 所有 abstract 方法必须在子类中实现
  interface ElectricCar {
    // 隐式为 public static final
    // 不可更改
    int BATTERY_CAPACITY = 310;


// 默认是抽象方法 void charge();
// 这是一个具体方法 void autoPark() { }
}
class Tesla implements ElectricCar { // 必须实现 public void charge() { } }
Java 面向对象编程入门

开始练习!

Java 面向对象编程入门

Preparing Video For Download...