- 接口使用
interface
来定义
interface AttackAble{
void attack();
//jdk1.8 后可以定义静态方法 和默认方法
static void test(){
}
default void aa(){
}
}
- Java中,接口和类是并列的两个结构
如何定义接口:定义接口中的成员
JDK7及以前:只能定义全局常量和抽象方法
- 全局常量:public static final的.但是书写时,可以省略不写
- 抽象方法:public abstract的
- 接口中不能定义构造器的!意味着接口不可以实例化
- Java开发中,接口通过让类去实现(implements)的方式来使用.
如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化
如果实现类没有覆盖接口中所有的抽象方法,则此实现类仍为一个抽象类 - Java类可以实现多个接口 --->弥补了Java单继承性的局限性
格式:class AA extends BB implements CC,DD,EE - 接口与接口之间可以继承,而且可以多继承
- 接口的具体使用,体现多态性
- 接口,实际上可以看做是一种规范
面试题:抽象类与接口有哪些异同?
答:
(1)接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。
(2)实现接口的关键字为implements,继承抽象类的关键字为extends。 一个类可以实现多个接口,但一个类只能继承一个抽象类。 所以,使用接口可以间接地实现多重继承。