JavaSE基础(26) 接口
概述
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。
接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。
引用数据类型:数组,类,接口。
接口就是一种约定,契约。一种规范。
例如生活中的USB接口,鼠标:键盘,U盘等等只要遵循了USB接口规范,那么就可以正常使用;
接口定义
含有抽象方法
抽象方法:使用 abstract 关键字修饰,可以省略,没有方法体。该方法供子类实现使用。
代码如下:
public interface InterFaceName {
public abstract void method();
}
含有默认方法和静态方法
public interface InterFaceName {
public default void method() {
// 执行语句
}
public static void method2() {
// 执行语句
}
}
含有私有方法和私有静态方法
私有方法:使用 private 修饰,供接口中的默认方法或者静态方法调用。
代码如下:
public interface InterFaceName {
private void method() {
// 执行语句
}
}
示例:
public interface Test {
public static final double PI=3.14;//定义的变量会默认加上public static final
public abstract void test1();
void test2();//默认加上public abstract
default void test3(){//显示声明一个default
System.out.println("wowowd");
}
}
接口实现
接口要有实现类来实现接口中的抽象方法。
子类和抽象父类的关系:extends
实现类和接口的关系:implements
类与接口的关系为实现关系,即类实现接口,该类可以称为接口的实现类,也可以称为接口的子类。
非抽象子类实现接口:
1. 必须重写接口中所有抽象方法。
2. 继承了接口的默认方法,即可以直接调用,也可以重写。
实现格式: