什么是接口:
官方语言:接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
我的理解:它是一种特殊的类,特殊在它里面全是由全局常量和公共抽象方法组成,接口它是解决Java语言无法多继承的一种方法,但它更多的则是用来制定标准。(何为标准,标准就是类需要实现我这个接口,那就必须先实现我里面设置的某些方法)
为什么要用接口:
- 接口被用来描述一种抽象。
- 接口可以解决Java当中的多继承。
接口与抽象类区别:可能有一些同学会说,抽象类也是用来实现抽象,那它俩有啥区别呢?
- 抽象类中可以中可以有方法体,也就是能实现方法的具体功能,但是接口却不行,接口中只能定义方法,却不能实现它。
- 抽象类中可以有各种类型的成员变量,但是接口中的成员类型只能是public,static,final类型的。
- 一个类只能继承一个抽象类,但是一个类却可以实现多个接口。(实现Java中的多继承)
接口的声明:
interface 接口名称
{
声明变量;
抽象方法;
}
例:
package java_demo.接口;
public class Jiekou {
public static void main(String args[])
{
Animal d = new Dog();
d.eat();
d.work();
d.age();
}
}
interface Animal
{
final int a = 10;//接口中的属性默认为Public Static Fina
void eat(); //在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体,
void work();//因为具体的方法体的实现是由继承该接口的类来去实现的
void age();
}
class Dog implements Animal //一个类要实现这个接口必须实习这个接口中的所有方法体
{
public void eat()
{
System.out.println("我吃骨头!");
}
public void work()
{
System.out.println("我吃守家!");
}
public void age()
{
System.out.println("我今年"+a+"岁!");
}
}
结果:
小结:
- 为了声明接口,我们需要使用interface这个关键字。
- 接口中的属性类型默认为public,final,static。
- 接口中的所有方法都在需要去定义,而不需要去实现。(这和抽象类中的方法定义差不多)
- 一个类要实现这个接口,就必须这个接口中的所有方法体
(例如:节能是一个接口,那变频是一个方法体,如果想要去实现节能,那我们就必须先实现变频。)
重点:
- 我们不能直接去实例化一个接口,因为接口中的方法都是抽象的,是没有方法体的。想要实例接口,我们可以使用接口类型的引用指向实现了该接口的对象,从而调用接口中的方法,但实际上是调用了实现该接口的类的方法。(实际上就是Java多态中的特性)
- 一个类可以实现多个不同的接口。(Java实现多继承)
- 接口之间可以像类一样实现继承,还可以实现多继承。
- 一个类如果要实现一个接口,那必须要先实现这个接口中的所有方法。