JAVA接口的概念

与类同级别,在创建的时候名字为interface。


语法: public interface 接口名{ }
1: 接口中的方法没有方法体 { } >> 抽象方法

比如:在鼠标监听器mouselistener里

public void mousePressed(MouseEvent e) {
};

在接口中大括号里是没有方法的,它就类似于一种规范。

它就像产品中的规范和标准一样。

在一个产品需要的时候可以调用它使用这个标准。

2: 接口中定义的变量都是默认 static final 修饰,必须初始化赋值
static 接口名可以直接调用
final 修饰,之后不能再修改值

例子:门锁接口的实现

interface Lock{
public void unlock();// 开锁
public void lock();// 锁
}

//先创建一个开关锁门接口,此时的括号中是没有具体方法的,这个就像是开锁门的一种规范,后面都是用具体的方法来实现开锁门的功能

public class Door{
Lock doorLock = null;
public void setDoorLock(Lock doorLock){
this.doorLock = doorLock;
}//创建一个门对象,并初始化是否锁门
public void openDoor(){
if(doorLock == null){
System.out.println ("还没有配置锁");
return;
}
doorLock.unlock ();
}
public void closeDoor(){
if(doorLock == null){
System.out.println ("还没有配置锁");
return;
}
doorLock.lock ();
}
}

//开关锁的基本代码
// ---------以上代码在升级门的时候不需要改动 ----------------------
class KeyLock implements Lock{
@Override
public void unlock(){
System.out.println ("Key验证正确,解锁开门");
}
@Override
public void lock(){
System.out.println ("Key验证正确,锁门");
}
}//此方法为钥匙开门,先调用开锁门这个接口,也就是类似一个框架,这个拿钥匙的目的还是开锁门,这就是一开始接口的抽象方法的规范,但这次开锁的具体方法是拿钥匙
class FaceIDLock implements Lock{
@Override
public void unlock(){
System.out.println ("FaceID验证正确,解锁开门");
}
@Override
public void lock(){
System.out.println ("FaceID验证正确,锁门");
}
}//用面部识别开锁门
class PwdLock implements Lock{
@Override
public void unlock(){
System.out.println ("密码验证正确,解锁开门");
}
@Override
public void lock(){
System.out.println ("密码验证正确,锁门");
}
}//用密码开锁门

//在这之中接口的方法(框架)都没改变,改变的就是框架中的功能,使用接口就比较方便来实现程序的设计,让它有足够的框架来设计,而不是想到什么写什么
class ManageDoor{
public static void main(String[] args){
Door door = new Door ();
FaceIDLock faceIDLock = new FaceIDLock ();
door.setDoorLock (faceIDLock);
door.openDoor ();
door.closeDoor ();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值