🍀为什么有接口
请大家先看一张图:
USB插槽就是现实中的接口。
你可以把手机,相机,u盘都插在USB插槽上,而不用担心那个插槽是专门插哪个的,原因是做usb插槽的厂家和做各种设备的厂家都遵守了统一的规定包括尺寸,排线等等。
🍀接口快速入门
这样的设计需求在java编程/php/.net/go中也是会大量存在的,一个程序就是一个世界,在现实世界存在的情况,在程序中也会出现。我们用程序来模拟一下。
🔌设计一个接口UsbInterface
package com.hj.第十章面向对象编程下.接口;
/**
* @author Baridhu
*/
public interface UsbInterface {
//接口
//规定接口的相关方法,老师规定的.即规范...
public void start();
public void stop();
}
📷Camera 实现 UsbInterface
public class Camera implements UsbInterface{
//实现接口,就是把接口方法实现
@Override
public void start() {
System.out.println("相机开始工作...");
}
@Override
public void stop() {
System.out.println("相机停止工作....");
}
}
📱Phone实现 UsbInterface
//Phone 类 实现 UsbInterface
//解读 1. 即 Phone 类需要实现 UsbInterface 接口 规定/声明的方法
public class Phone implements UsbInterface {
@Override
public void start() {
System.out.println("手机开始工作...");
}
@Override
public void stop() {
System.out.println("手机停止工作.....");
}
}
💻Computer 类:
package com.hj.第十章面向对象编程下.接口;
/**
* @author Baridhu
*/
public class Computer {
//编写一个方法,计算机工作
public void work(UsbInterface Usb) {
//通过接口,来调用方法
Usb.start();
Usb.stop();
}
}
🍀基本介绍
➢ 接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
📙语法:
interface接口名{
属性
抽象方法
}
class 类名 implements 接口{
自己属性;
自己方法;
必须实现的接口的抽象方法
}
💡小结:
接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体【jdk7.0】。接口体现了程序设计的多态和高内聚低偶合的设计思想。
🔥特别说明:
Jdk8.0后接口类可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现
🍀深入讨论
对初学者讲.理解接口的概念不算太难,难的是不知道什么时候使用接口,下面我例举几个应用场景:
- 说现在要制造战斗机,武装直升机.专家只需把飞机需要的功能/规格定下来即可,然后让别的人具体实现就可。
- 现在有一个项目经理,管理三个程序员,功能开发一个软件,为了控制和管理软件,项目经理可以定义一些接口,然后由程序员具体实现。(1.项目质量2.项目进度3.项目奖)参加工作
👍举例实现:
DBInterface接口
package com.hj.第十章面向对象编程下.接口.简单案例;
/**
* @author Baridhu
*/
public interface DBInterface {
//项目经理
public void connect();//连接方法
public void close(