接口java_Java接口的功能及使用

一、为什么使用接口

1.门有“开”和“关”的功能,锁有“上锁”和“开锁”的功能

2.将门和锁分别定义为抽象类

将门定义为抽象类,锁定义为接口防盗门继承门,实现锁的接口问题:

防盗门可以继承门的同时又继承锁吗?

如何解决这个问题呢?

可以应用接口去解决这个问题

二、定义接口

public interface MyInterface {

public void foo();

//其他方法

}

接口的特性接口不可以被实例化实现类必须实现接口的所有方法实现类可以实现多个接口接口中的变量都是静态常量二、用程序描述USB接口

4e9c69e9369a903c3dee5a675f4f705e.png

分析:

USB接口本身没有实现任何功能USB接口规定了数据传输的要求USB接口可以被多种USB设备实现三、编码实现:

1.编写接口:

public interface UsbInterface {

/**

* USB接口提供服务。

*/

void service();

}

2.实现接口:

public class UDisk implements UsbInterface {

public void service() {

System.out.println("连接USB口,开始传输数据。");

}

}

3.使用接口:

public static void main(String[] args){

UsbInterface uDisk = new UDisk();

uDisk.service();

}

四、接口是一种能力:体现在接口的方法上。面向接口的编程,不考虑接口的具体实现 。关心实现类有何能力,而不关心实现细节

五、应用接口实现防盗门功能

8d465f40801e3f4595930fd8948d3dbf.png

分析:

防盗门是一个门防盗门有一个锁:上锁和开锁是一种能力六、编码实现:

1.编写Door门的类:

public abstract class Door {

//开门

public abstract void open();

//关门

public abstract void close();

}

2.编写Lock锁的接口:

public interface Lock {

//上锁

public void lockUp();

//开锁

public void openLock();

}

3.编写实现类:

publicclassTheFtpRoofDoor extends Door implements Lock {

@Override

publicvoidlockUp() {

System.out.println("插入钥匙,向左旋转三圈,拔出钥匙,门锁了上");

}

@Override

publicvoidopenLock() {

System.out.println("插入钥匙,向右旋转三圈,锁打开了,拔出钥匙");

}

@Override

publicvoidopen() {

System.out.println("用力推,门打开了");

}

@Override

publicvoidclose() {

System.out.println("轻轻关门,门关上了");

}

}

4.测试程序:

publicclassTestDoor {

publicstaticvoidmain(String[] args) {

Door door=newTheFtpRoofDoor();

Lock lock=newTheFtpRoofDoor();

//关门

door.close();

//上锁

lock.lockUp();

//开锁

lock.openLock();

//开门

door.open();

}

}

9ffe907f2f2d4915be2334b3dd0e0bc5.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值