继承2.0

在这里插入图片描述
在这里插入图片描述

接口的具体例子:

package CSY0825;

public interface Lock {
    //作为一把锁具备的功能
    public void unlock();//开锁

    //作为一把锁具备的功能
    public void lock();//上锁
}


class Door{
    Lock mylock;//定义一个锁的接口变量mylock
    public void openDoor(){
        mylock.unlock();//方法体mylock.unlock():通过调用锁的unlock()方法实现开门功能
    }
    public void closeDoor(){
        mylock.lock();//通过调用锁的lock()方法实现关门功能
    }
}

package CSY0825.locks;

import CSY0825.Lock;

public class KeyLock implements Lock {
    public void unlock(){
        System.out.println("使用钥匙解锁,门开了");
    }


    public void lock(){
        System.out.println("使用钥匙上锁,门关了");
    }
}

package CSY0825.locks;


import CSY0825.Lock;

public class FaceIDLock implements Lock {
    public void lock(){
        System.out.println("人脸识别上锁上锁,门关了");
    }
    public void unlock(){
        System.out.println("人脸识别锁解锁,门开了");
    }
}
package CSY0825.locks;

import CSY0825.Lock;

public class PassWordLock implements Lock {
    public void unlock(){
        System.out.println("使用密码解锁,门开了");
    }

    //作为一把锁具备的功能
    public void lock(){
        System.out.println("使用密码解锁,门关了");
    }
}

package CSY0825;

import CSY0825.locks.FaceIDLock;
import CSY0825.locks.KeyLock;
import CSY0825.locks.PassWordLock;

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        //这是我们购买的门对象
        Door door=new Door();
        //这是我们购买的门锁对象
        KeyLock keyLock=new KeyLock();
        FaceIDLock faceIDLock=new FaceIDLock();
        PassWordLock passWordLock=new PassWordLock();

        //选择三把锁中的哪一个作为门锁
        door.mylock=keyLock;
        Scanner sc=new Scanner(System.in);
        while(true)
        {
            System.out.println("请选择: 1-钥匙 2-密码 3-人脸");
            switch(sc.nextInt()){
                case 1:
                    door.mylock=keyLock;
                    break;
                case 2:
                    door.mylock=passWordLock;
                    break;
                case 3:
                    door.mylock=faceIDLock;
                    break;
            }
            while(sc.hasNext()){
                System.out.println("请选择操作: 1-开门 2-关门");
                int num=sc.nextInt();
                if(num==3)
                {
                    break;
                }
                switch(num){
                    case 1:
                        door.openDoor();
                        break;
                    case 2:
                        door.closeDoor();
                        break;
                }
            }
        }
    }
}

类与类的继承,接口的继承的区别

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值