Java接口

Interface


接口是特殊的抽象类

接口更多是像一个标准,让实现类去实现方法

接口中有静态常量和抽象方法、默认方法(Java8之后可以有static和default方法)
  1. 静态常量(默认修饰符public static final
  2. 抽象方法(默认修饰符public abstract
  3. 接口中除了抽象方法外还可以有static和default方法(java8之后)
  4. 接口中不能有构造方法、静态代码块
抽象类里如果只有静态常量或抽象方法,就用接口替代,因为接口解决了类的单继承问题

类 - 接口 之间的关系

  1. 类-类 :单继承
  2. 类-接口:多现实
  3. 接口-接口:多继承
接口中的default方法
  1. 只有接口中的方法能被default修饰,表示该方法为普通的方法
  2. 一个类实现了两接口中都有default方法,需要重写default方法
  3. 实现了接口和继承了父类中都有相同的方法,则父类中的方法的访问修饰符必须高于default,否则仍然需要重写该方法
interface MyInterface1 {
    default void m()
     {
         System.out.println("接口中的m1");
     }
}
interface MyInterface2 {

    default void m()
    {
        System.out.println("接口1中的m1");
    }
}
abstract class MyAbClass
{
    void m1() {
        System.out.println("父类中的m1");
    }
}
class t extends MyAbClass implements MyInterface1,MyInterface2{
    public static void main(String[] args){
        new t().m1();
    }
    @Override
    public void m() {
        //Todo
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章