目录
1、什么是接口?
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
2、接口有什么用?
JAVA接口中定义了常量以及抽象方法,能够弥补java中单一继承的模式,但是其中的方法只是声明,并不能实现。
可以把接口理解为硬件中的USB接口,能够连接更多的硬件,扩展更多的使用模式,既方便又高效。
3、接口的格式
[public] interface 接口名{
//方法 注意:接口中的抽象方法默认会自动加上public abstract修饰程序员无需自己手写!
//常量 注意:接口中常量必须要给初始值,常量命名规范建议字母全部大写,多个单词用下划线连接。
}、
4、类实现接口的意义
接口体现的是一种规范,接口对实现类是一种强制性的约束,要么全部完成接口申明的功能,要么自己也定义成抽象类。
5、类实现接口的格式
类实现接口的格式:
[修饰符] class 类名 implements 接口名1,接口名2,...{//接口可以同时实现多个接口
//实现所有的抽象方法
}
要求:
-
子类必须重写实现全部接口中所有的抽象方法。
-
若接口中某个抽象方法未重写实现,这个子类也必须定义成抽象类。
5、类与接口的多实现
类与接口之间的关系是多实现的,一个类可以同时实现多个接口。解决了JAVA没有多继承的弊端。将多继承这种机制在java中通过多实现完成了。
存在以下两个接口,代码如下:
/** 法律规范:接口*/
public interface Law {
void rule();
}
/** 这一个运动员的规范:接口*/
public interface SportMan {
void run();
}
定义一个跳远运动员类:JumpMan 来实现以上两个接口
public class Demo01 {
public static void main(String[] args) {
JumpMan jm = new JumpMan();
jm.rule();
jm.run();
}
}
/** 法律规范:接口*/
interface Law {
void rule();
}
/** 这一个运动员的规范:接口*/
interface SportMan {
void run();
}
class JumpMan implements Law, SportMan {
@Override
public void rule() {
System.out.println("不能踩线~~");
}
@Override
public void run() {
System.out.println("立定跳远~~~");
}
}
从上面可以看出类与接口之间是可以多实现的,我们可以理解成实现多个规范,这是合理的。