liujijiang

java学习笔记 --9-- 接口

2020.03.28

接口

抽象类和抽象方法(abstract)

抽象类:建立通用接口,表示所有的导出类的共同部分
抽象方法:只有方法声明,没有方法体 abstract void f()

包含抽象方法的类叫做抽象类,如果一个类中有抽象方法而类没有声明为抽象类,编译报错

抽象类的导出类必须给出每个方法的实现,否则导出类也是抽象类(系统强制加上abstract)

接口(interface)

如果说abstract中的部分方法还可以有具体的实现,那么interface就是一个纯粹的接口,interface中不允许有方法的具体的实现

一个接口表示所有实现了这个接口的类看起来都长这个样子
接口被用来建立类与类之间的协议

  • 接口中也可以有域,默认就是加上 static final

interface Test{
    int a = 1;
}


  • 接口中方法默认是public,即使你不写,也只能是public
interface Test{
    int a = 1;
    void find();
}

class Test1 implements Test{
    @Override
    public void find() {
        
    }
}

接口和实现,

多重继承

可以实现多个接口,并可以向上转换任何一个接口

package com.company;

public class Main {
    public static void main(String[] args) {
	// write your code here
        Test test = new Test3();
        Test2 test2 = new Test3();

    }
}

interface Test{
    int a = 1;
    void find();
}

interface Test2{
    void find1();
}

class Test3 implements Test,Test2{
    public void find(){

    }
    public void find1(){

    }
}