zoukankan      html  css  js  c++  java
  • JAVA基础复习-接口匿名实现类的对象

    package com.winson.OOP;
    
    /**
     * @description:接口与接口多态性测试
     * @date: 2020/7/12 15:25
     * @author: winson
     */
    public class USBTest {
        public static void main(String[] args) {
            Computer computer = new Computer();
            //1、创建了接口的非匿名实现类的非匿名对象
            UDisk uDisk = new UDisk();
            //利用接口的多态性
            computer.transferData(uDisk);
    
            //2、创建了接口的非匿名实现类的匿名对象
            computer.transferData(new printer());
            //3、创建了接口的匿名实现类的非匿名对象
            USB phone = new USB() {
                @Override
                public void start() {
                    System.out.println("手机开始工作");
                }
    
                @Override
                public void end() {
                    System.out.println("手机结束工作");
                }
            };
            computer.transferData(phone);
            //4、创建了接口的匿名实现类的匿名对象
            computer.transferData(new USB() {
                @Override
                public void start() {
                    System.out.println("扫描仪开始工作");
                }
    
                @Override
                public void end() {
                    System.out.println("扫描仪结束工作");
                }
            });
        }
    }
    
    class Computer {
        public void transferData(USB usb) {
            usb.start();
            System.out.println("具体传输数据的细节");
            usb.end();
        }
    }
    
    interface USB {
        void start();
    
        void end();
    }
    
    class UDisk implements USB {
    
        @Override
        public void start() {
            System.out.println("U盘开始工作");
        }
    
        @Override
        public void end() {
            System.out.println("U盘结束工作");
        }
    }
    
    class printer implements USB {
    
        @Override
        public void start() {
            System.out.println("打印机开始工作");
        }
    
        @Override
        public void end() {
            System.out.println("打印机结束工作");
    
        }
    }
    
  • 相关阅读:
    通过注册表获取计算机相关信息
    GetTickCount()函数
    SystemInfo获取计算机相关信息
    CriticalSection 临界区
    mysql慢查询问题
    mysql show processlist详解
    nginx及php版本号隐藏
    安装psutil模块报错&安装python-devel
    ubuntu ssh重启
    php-fpm配置优化
  • 原文地址:https://www.cnblogs.com/elnimo/p/13288906.html
Copyright © 2011-2022 走看看