Java 6 day--接口 interface

为什么使用接口
Java中的继承关系是单继承,如果有多个父类的时候,可以考虑使用接口进行实现。

接口用法:
使用interface来修饰。
接口中可以包含多个方法,且方法跟抽象类中的抽象方法一致,可以不写实现,子类在实现的时候必须实现代码逻辑。
子类实现接口使用implements关键字。

理解代码:
Door:

public abstract class Door {
    public abstract void openDoor();
    public abstract void closeDoor();
}

Lock:

public interface Lock {
    void openLock();
    void closeLock();
}

DoorLock:

public class LockDoor extends Door implements Lock{
    @Override
    public void openDoor() {
        System.out.println("开门");
    }

    @Override
    public void closeDoor() {
        System.out.println("关门");
    }

    @Override
    public void openLock() {
        System.out.println("开锁");
    }

    @Override
    public void closeLock() {
        System.out.println("关锁");
    }
}

TestDoorLock:

public class TestLockDoor {
    public static void main(String[] args) {
        LockDoor lockDoor=new LockDoor();
        lockDoor.openDoor();
        lockDoor.openLock();
        lockDoor.closeDoor();
        lockDoor.closeLock();
    }
}

接口特性
1.接口中所有方法都是抽象方法,不能包含方法的实现。
2.接口中所有方法的访问权限都是public,不写并不是默认访问权限。
3.接口不可以被实例化。
4.实现类必须实现接口的所有方法,跟抽象类不同,抽象类中的抽象方法必须要被子类实现。
5.实现类可以实现多个接口。
接口中的变量都是静态常量,如变量未使用static关键字修饰,也表示静态常量。

接口相关规则:
可以定义一个新接口,用extends去继承一个已有的接口。
可以定义一个类,用implements去实现一个接口中所有的方法。
可以定义一个抽象类,用implements去实现一个接口中部分方法。

抽象类和接口的区别:
1.抽象类中的方法可以有抽象方法,也可以有普通方法,但是接口中只能有抽象方法。
2.抽象类需要使用abstract关键字来修饰,而接口使用interface关键字来修饰。
3.抽象类子类使用extends关键字来继承抽象类,接口的使用implements来实现接口。
4.子类继承抽象类的时候必须要实现所有的抽象方法,普通方法可以不重写,而接口中的所有方法必须实现。
5.抽象类中可以定义成员变量,而接口中只能定义静态常量。
6.抽象类在子类实现的时候是单继承, 而接口实现的时候是多继承。
7.抽象类和接口都不能实例化,但是抽象类中可以有构造方法,而接口中不能有构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值