zoukankan      html  css  js  c++  java
  • 抽象接口USB的实例化

    /*
    * 接口的使用
    * 1.接口使用上也满足多态性
    * 2.接口,实际上就是定义了一种规范
    * 3.开发中,体会面向接口编程!
    */

    public class USBTest {
        public static void main(String[] args) {
            
            Computer com = new Computer();
            //1.创建了接口的非匿名实现类的非匿名对象
            Flash flash = new Flash();
            com.transferData(flash);
            
            //2. 创建了接口的非匿名实现类的匿名对象
            com.transferData(new Printer());
            
            //3. 创建了接口的匿名实现类的非匿名对象
            USB phone = new USB(){
    
                @Override
                public void start() {
                    System.out.println("手机开始工作");
                }
    
                @Override
                public void stop() {
                    System.out.println("手机结束工作");
                }
                
            };
            com.transferData(phone);
            
            
            //4. 创建了接口的匿名实现类的匿名对象
            
            com.transferData(new USB(){
                @Override
                public void start() {
                    System.out.println("mp3开始工作");
                }
    
                @Override
                public void stop() {
                    System.out.println("mp3结束工作");
                }
            });
        }
    }
    
    class Computer{
        
        public void transferData(USB usb){//USB usb = new Flash();
            usb.start();
            
            System.out.println("具体传输数据的细节");
            
            usb.stop();
        }
        
        
    }
    
    interface USB{
        //常量:定义了长、宽、最大最小的传输速度等
        
        void start();
        
        void stop();
        
    }
    
    class Flash implements USB{//flash类实现了USB接口的实例化,并覆盖了USB接口中的所有方法start(),stop()
    
        @Override
        public void start() {
            System.out.println("U盘开启工作");
        }
    
        @Override
        public void stop() {
            System.out.println("U盘结束工作");
        }
        
    }
    
    class Printer implements USB{
        @Override
        public void start() {
            System.out.println("打印机开启工作");
        }
    
        @Override
        public void stop() {
            System.out.println("打印机结束工作");
        }
        
    }
    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    【转】Android之四大组件、六大布局、五大存储
    Android O 8.0 奥利奥
    安卓7.1新特性
    那些年我们踩过的坑,SQL 中的空值陷阱!
    8年经验面试官详解 Java 面试秘诀
    Github 第三方授权登录教程
    40个超有趣的Linux命令行彩蛋和游戏
    Synchronized锁在Spring事务管理下,为啥还线程不安全?
    Windows Server 2008 R2文件服务器升级到Windows Server 2016
    牛客练习赛61
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/14605051.html
Copyright © 2011-2022 走看看