(1)接口定义
接口(interface)是一种定义抽象方法的类型,它没有实现,只有方法签名。接口可以被类实现,实现类必须实现接口中的所有方法。接口通常用于定义类之间的契约关系,以及实现多态。
接口是一种纯抽象类,它不包含任何实现代码,只有方法的声明。接口中的方法默认是抽象的,也可以使用 default 关键字定义默认实现,或使用 static 关键字定义静态方法。
在 Java 中,接口可以被类实现(implements)来实现接口中定义的方法,实现接口的类必须实现接口中的所有方法。同时一个类也可以实现多个接口,从而提供更丰富的功能。
在Java中接口格式
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final]常量;
[public] [abstract]方法;
}
- 修饰符:可选,用于指定接口的访问权限,可选值为public,如果是省略则使用默认的访问权限
- 接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符,一般情况下要求首字母大写
- extends父接口名列表:可选参数,用于指定要定义的接口继承与哪个父接口。当使用extends关键字时,父接口名为必选参数
(2)接口实现
接口定义后就可以在类中使用关键字implements实现该接口,
格式如下:[修饰符] class <类名> [extends 父类名] [implement 接口列表]{}
- 修饰符:可选参数,用于指定类的访问权限,可选值为public,abstract,和final
- 类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符,一般情况下,要求首字母大写
- extends父类名:可选参数,用于指定要定义的类继承于哪个父类,当使用extends关键子时,父类名为必选参数
- implements 接口列表:可选参数,用于指定该类实现的是哪些接口,当使用implements 关键字时,接口列表为必选参数,当接口列表存在多个接口名时,各个接口之间用 ” ,“隔开。
创建两个接口飞行和吸血
public interface flyable {
public abstract void fly();
}
public interface bitable {
public abstract void bite();
}
创建一个类蝙蝠(bat)
public class bat implements flyable,bitable {
@Override
public void bite() {
System.out.println("蝙蝠可以吸血");
}
@Override
public void fly() {
System.out.println("蝙蝠可以用翅膀飞");
}
}
创建测试类test
public class test {
public static void main(String [] arge){
bat Bat = new bat();
Bat.bite();
Bat.fly();
}
}
运行结果为