zoukankan      html  css  js  c++  java
  • 做个复习案例(把面向对象三大特征给复习一遍 以及接口 )

    package com.itheiReview;
    
    /**
     * @program: javaDemo01->TestReview
     * @description: 复习案例
     * @author: 安生
     * @create: 2021-01-19 22:51
     **/
    
    import java.security.Key;
    
    /**
        需求:
            弄一台电脑 (实现USB功能)
            USB(鼠标,键盘)  实现插入和拔出 以及特有功能
     */
    public class TestReview {
        public static void main(String[] args) {
            //买一台电脑
            Computer c = new Computer();
            //创建鼠标 小米鼠标
            USB xiaomi = new Mouse("小米鼠标");
            c.installUSB(xiaomi);
            System.out.println("--------------");
            USB shaunfei = new Mouse("双飞键盘");
            c.installUSB(shaunfei);
        }
    
    }
    
    //电脑类  提供USB的入口 具体实现出来
    class Computer{
        public void installUSB(USB usb){
            //插入
            usb.connect();
            // 特有方法
            if(usb instanceof Mouse){
                Mouse m = (Mouse) usb;
                m.dbClick();
            }else if(usb instanceof KeyBoard){
                KeyBoard k = (KeyBoard) usb;
                k.keyDown();
            }
            // 拔出
            usb.unconnect();
        }
    }
    //鼠标  提供一个鼠标的规范
    class Mouse implements USB{
        private String name;
        public Mouse(){}
        public Mouse(String name) {
            this.name = name;
        }
        //鼠标 双击的特有功能
        public void dbClick(){
            System.out.println("来了 老铁 双击点亮小红♥");
        }
        @Override
        public void connect() {
            System.out.println(name+"插入鼠标连接成功!");
        }
    
        @Override
        public void unconnect() {
            System.out.println(name+"拔出鼠标连接成功!");
        }
    }
    //键盘  提供一个键盘的规范
    class KeyBoard implements USB{
        private String name;
        public KeyBoard(){}
        public KeyBoard(String name) {
            this.name = name;
        }
        //键盘  敲键盘的特有功能
        public void keyDown(){
            System.out.println("敲出了 来了 老弟");
        }
        @Override
        public void connect() {
            System.out.println(name+"插入键盘连接成功!");
        }
    
        @Override
        public void unconnect() {
            System.out.println(name+"拔出键盘连接成功!");
        }
    }
    
    //第一步 规范接口  USB
    interface USB{
        // 公有功能:
        //插入
        void connect();
        //拔出
        void unconnect();
    }
  • 相关阅读:
    前言内容
    hibernate criteria中Restrictions的用法
    数据库默认端口
    MyEcplise2014集成SVN
    Java中的HashMap和HashTable到底哪不同?(原文参考来自码农网)
    MyEclipse控制台报错:java.lang.OutOfMemoryError: PermGen space
    版本管理软件Git 初感
    二分法,冒泡排序
    关于tail, head ,less ,more ,cat 之小介------Linux命令
    java:字符串反转
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14300624.html
Copyright © 2011-2022 走看看