interface关键字
/**
* 接口(interface)是与类并行的一个概念
*
* 1.接口可以看作一个特殊的抽象类,只包含常量和抽象方法的抽象类。
* 2.接口没有构造器。
* 3.接口定义的就是一种功能,此功能可以被类实现。
* 比如:class C extends D implements A 一般extends卸载implements前面
* 4.实现接口类必须重写所有的抽象方法,方可实例化;否则,此类为抽象类。
* 5.类可以实现多个接口,但是,只能单继承。
* 6.接口可以继承接口,而且接口可以继承多个接口。
*/
public class TestInterface {
public static void main(String[] args) {
System.out.println(A.NUM1);
System.out.println(A.NUM2);
}
}
interface A {
/**
* 接口中,常量的两种表示形式
*/
//常量:完整写出来
public static final int NUM1 = 110;
//常量:可以省略public static final,但是所指的也是常量
int NUM2 = 120;
/**
* 接口中吗,抽象方法的三种表示形式
*/
//抽象方法:完整的写出来
public abstract void method1();
//抽象方法:省略abstract
public void mehtod2();
//抽象方法:省略public abstract
void method3();
}
abstract class B implements A {
//抽象类中可以不实现接口的方法
}
class C extends D implements A , E {
@Override
public void method1() {
}
@Override
public void mehtod2() {//证明接口中void method2()省略了abstract
}
@Override
public void method3() {//证明接口中void method3()省略了public abstract
}
@Override
public void method_E() {
}
}
class D {
}
interface E {
void method_E();
}
//接口继承接口,可以多继承
interface F extends E , A {
void method_F();
}
class G implements F {
//由于F接口继承E接口,而G类实现F接口,
//所以G类必须实现F接口、E接口中的所有抽象方法
@Override
public void method_E() {
}
@Override
public void method_F() {
}
@Override
public void method1() {
}
@Override
public void mehtod2() {
}
@Override
public void method3() {
}
}