接口就是特殊的抽象类,即所有方法都是抽象方法的抽象类就是Java中的接口(interface)
形式:
[修饰符] interface 接口名 [extends 父接口名列表]
{
[public] [static] [final] 常量; [public] [abstract] 方法;
}
修饰符:可选,用于指定接口的访问权限,可选值为public。即使省略,也依然是public。
接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。
父接口可以存在多个,用逗号隔开。 方法:接口中的方法只有定义而没有被实现。
接口是一种特殊的抽象类 接口中没有变量,只能有public static final修饰的静态常量。
三个修饰符可以省略。
接口中所有方法都是抽象方法,且默认就是public权限
类实现接口,本质上与类继承类相似,区别在于“类最多只能继承一个类,即单继承,而一个类却可以同时实现多个接口”,多个接口用逗号隔开即可。实现类需要覆盖所有接口中的所有抽象方法,否则该类也必须声明为抽象类
接口是抽象的,接口中没有任何具体方法和变量,所以接口不能进行实例化。接口定义的是多个类都要实现的操作,即“what to do”。类可以实现接口,从而覆盖接口中的方法,实现“how to do”。
定义形式:
[修饰符] class <类名> [extends 父类名] [implements 接口列表]{ }
修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。 类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。 extends 父类名:可选参数,用于指定要定义的类继承于哪个父类。当使用extends关键字时,父类名为必选参数。 implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔。
Java接口继承接口的原则 Java接口可以继承多个接口 接口继承接口依然使用关键字extends,不要错用成implements。
ava接口继承接口的形式
Interface3 extends Interface0, Interface1, interface……
接口继承与类继承对比:Java类的继承是单一继承,Java接口的继承是多重继承。 接口可实现多继承原因分析 不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A无法确定该继承那一个。
接口全都是抽象方法继承谁都可以,所以接口可继承多个接口