1.概念
在java中,接口可以看作为多个类的公共规范,是一种运用数据类型
2.语法规则
public interface IShape{
voud func1();
}
3.接口的使用
接口不能直接使用,必须要有一个"实现类"来"实现"该接口,实现接口中的所有抽象方法。
class Rect implements IShape{
// 重写接口的抽象方法
}
注意:子类和父类之间是extends 继承关系,类与接口之间是 implements 实现关系。
下面是一个简单的接口定义以及实现的代码
实例:请实现笔记本电脑使用USB鼠标、USB键盘的例子
1. USB接口:包含打开设备、关闭设备功能
2. 笔记本类:包含开机功能、关机功能、使用USB设备功能
3. 鼠标类:实现USB接口,并具备点击功能
4. 键盘类:实现USB接口,并具备输入功能
1.定义接口IUsb类
public interface IUsb {
// 1.打开设备
void openDevice();
// 2.关闭设备
void closeDevice();
}
2.定义笔记本类
pulic class computer{
public void open(){
System.out.println("开机功能")
}
public void close(){
System.out.println("关机功能")
}
public void useDevice(IUsb usb){
usb.openDevice();
if(usb instanceof Mouse){
Mouse mouse = (Mouse)usb;
}else (usb instanceof KeyBoard){
KeyBoard keyBoard = (KeyBoard)usb;
keyBoard.input();
}
usb.closeDevice();
}
}
3.定义键盘类
class Mouse implements IUsb{
// 1.重写打开设备的方法重写
@Override
public void openDevice() {
System.out.println("打开键盘");
}
// 2.重写关闭设备的方法重写
@Override
public void closeDevice() {
System.out.println("关闭键盘");
}
// 3.键盘自身功能方法
public void input(){
System.out.println("敲击键盘");
}
}
4.定义鼠标类
public class Mouse implements IUsb {
// 1.重写打开设备的方法重写
@Override
public void openDevice() {
System.out.println("打开鼠标服务");
}
// 2.重写关闭设备的方法重写
@Override
public void closeDevice() {
System.out.println("关闭鼠标服务");
}
// 3.键盘设备自身功能
public void click(){
System.out.println("鼠标点击服务");
}
}
以上接口与设备类都构建完成。在IDEA的文件结构为:
