java接口

129 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

今天带领大家回顾一下接口的知识点。接口就像是现实世界的插口,必须插口型号一样才能使用。接口也是一种规范,上面的人写好接口,下面的人必须按照接口中的规定的命名格式写,并实现接口中的方法。使代码更规范更好管理。同时接口比继承更加灵活,继承满足is-a的关系,而接口只需满足like-a的关系实现接口是对java单继承机制的一种补充。

语法

首先看一下接口的语法。

interface 接口名{
    //属性
    //方法(1.抽象方法 2.默认实现方法 3.静态方法)
}
class 类名 implements 接口{
    自己的属性;
    自己的方法;
    必须实现接口的方法
}

这里要注意一下,在java7.0之前所有的方法都没有方法体,即都是抽象方法。在java8.0后可以有静态方法,默认方法。接口中的方法体可以被具体实现。

//默认实现方法
default public void ok(){}
//静态方法
public static void ok(){}

细节

接口中其实隐藏了很多细节。让我们一一来看一下吧。

//我们平常看到的接口属性是这样int a = 10;
interface 接口名{
    int a = 10;
}
//但实际上接口属性其实是这样public static final int a = 10;
interface 接口名{
    public static final int a = 10;
}

由于属性前有final修饰,所以接口的属性必须要赋初值,也不能随便修改。

interface b extends a,d,c{ 
}
interface a{ }
interface c{ }
interface d{ }

接口不能继承类,但可以继承多个别的接口

interface b{ 
void cat(); 
} 
abstract class a implements b{ }

抽象类实现接口时,可以不实现接口的抽象方法。