Java中继承关系是单继承,如果拥有多个父类的时候,可以使用接口进行实现。
接口代表一种能力,子类进行实现意味着具备了方法的能力。
- 用法:
- 使用interface来修饰
- 接口中可以包含多个方法,且方法跟抽象类中抽象方法一致,不写具体实现
- 子类在实现接口的时候必须要实现具体逻辑
- 子类实现接口使用 implements关键字
- 特征:
- 接口中所有方法都是抽象方法,不包含方法的实现
- 接口中所有方法的访问权限都是public,不写并不代表是默认访问权限
- 接口不能被实例化
- 接口的子类必须要实现接口中的所有方法,跟抽象类不用
- 子类可以实现多个接口
- 接口中的变量都是静态常量
- 接口中的方法和常量无论是否添加public修饰,默认访问权限只有一个,就是public
- 总结:
- 接口实现了规则和具体和实现的分离
- 接口是规范,体现了“如果你是...则必须能...”的思想
- 接口是契约,制定好后都要遵循
public abstract class Door {
public abstract void openDoor();
public abstract void closeDoor();
}
public interface Lock {
void openLock();
void closeLock();
}
public class LockUnlockDoor extends Door implements Lock{
@Override
public void openDoor() {
System.out.println("open door");
}
@Override
public void closeDoor() {
System.out.println("close door");
}
@Override
public void openLock() {
System.out.println("open lock");
}
@Override
public void closeLock() {
System.out.println("close lock");
}
}
public class DoorTest {
public static void main(String[] args) {
LockUnlockDoor lockDoor = new LockUnlockDoor();
lockDoor.openLock();
lockDoor.openDoor();
lockDoor.closeDoor();
lockDoor.closeLock();
}
}
-
输出:
image.png
网友评论