接口
接口就是指只有方法特征,而没有方法体的特殊类。那我们为什么要去学习接口呢? 因为在我们java继承中是无法多继承,这是我们使用接口就可以间接的实现了java多继承。
接口因为没有方法体,所以我们可以称他为“抽象类”。
接口的关键字:interface
举个例子我们去定义一个接口
public interface WorkPlace { //在这里我们定义了一个接口
void work(); // 又定义了没有方法体的方法
}
这样我们的接口就完成了,下来我们要用到关键字:implements 去把类和接口连接起来,就可以去进行使用接口了。
class Home implements WorkPlace{
public void work() {
System.out.println("在家里工作");
}
class Firm implements WorkPlace{
public void work() {
System.out.println("在公司工作");
}
这样我们就完成了接口和类的使用。
public static void main(String[] args) {
Firm a=new Firm();
a.work();
Home b=new Home();
b.work();
}
输出的结果为
在公司工作
在家里工作
接口的特点
1.我们可以从例子中得到,接口的方法都是抽象的,没有方法体的。我们需要去与类配合使用,在类中调用该方法并给此方法实例化。
2.接口是可以实现多继承的,而类不行。
3.在接口中方法都是public的,并且所有的属性都是static(默认的),final(最终的)。
4.一个类可以有多个接口,这就弥补了类不能多继承的缺陷。
5.一个类如果想实现某一接口,必须实现接口中定义的所有方法。
继承与接口的区别
我在这里就简单的说明一下继承与接口的区别吧。
1.继承要求两个类有关系的,必须满足子类和父类的区别。而接口则是不同,谁都可以用,只要你需要,你就可以用,并且跟你所用的类没有任何关系。
2.继承是只能有一个父类,因为java的安全性,不能实现多继承。但是接口可以有很多个,一个类能使用多个接口,也不用去考虑这些接口之间有没有关系,间接满足了多继承的需求。