• 接口是什么?接口长什么样?java的Interface


    今天来看看java接口长哪样。接口是特殊抽象类。

    一个子类只能继承一个抽象类(父类),所以就有接口这个特殊抽象类。

    下面以一个电脑的USB为例:

    定义接口标准

    public interface USBA {
            public void install();
            public void work();
    
    }

    -

    public interface USBB {
    
        public void install();
        public void work();
        public void over();
    }

    Computer.java 电脑类安装了USBA和USBB

    //
    public class Computer {
    
        public void pluginA(USBA usba)
        {
            usba.install();
            usba.work();
        }
        public void pluginB(USBA usba,USBB usbb)
        {
            usba.install();
            usba.work();
            usbb.over();
        }
    }

    手机类

    public class Phone implements USBA {
    
        public void install()
        {
            System.out.println("正在安装手机驱动");
        }
        public void work()
        {
            System.out.println("电脑可以打电话了");
        }
        
    }

    -

    public class Print implements USBA {
    
        public void install()
        {
            System.out.println("安装打印机驱动");
        }
        public void work()
        {
            System.out.println("打印机开始工作了");
        }
    }

    -

    public class Virus implements USBB,USBA {
    
        @Override
        public void install() {
            // TODO Auto-generated method stub
            System.out.println("病毒开始入侵");
        }
    
        @Override
        public void work() {
            // TODO Auto-generated method stub
            System.out.println("病毒正在破坏系统");
        }
    
        @Override
        public void over() {
            // TODO Auto-generated method stub
            System.out.println("病毒进行了格盘,与系统同归于尽。啾");
        }
    
    }

    程序主入口BodyMain.java。

    //
    public class BodyMain {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            Computer c = new Computer();//实例化电脑,你正在用电脑 
            c.pluginA(new Phone());//在电脑USB1接上了手机
            c.pluginA(new Print());
            c.pluginB(new Virus(), new Virus());//USBA和USBB都接上了病毒。一个子类可以实现多个接口
        }
    
    }

    运行结果

  • 相关阅读:
    jquery筛选数组之grep、each、inArray、map的用法及遍历json对象 [转]
    fontface 自定义字体
    (转)闭包与柯里化
    简单的等级评分效果
    js对象字面量
    利用jqueryRotare实现抽奖转盘
    [转]移动终端开发必备知识
    jQuery ajax中使用serialize() 方法提交表单数据
    css3动画模块transform transition animation属性解释
    【备忘】canvas下图片翻转转自oldj.net(英杰兄)
  • 原文地址:https://www.cnblogs.com/zdfbk/p/8360194.html
Copyright © 2020-2023  润新知