• 8.接口


    接口是抽象类的延伸,可以将它看作是存粹的抽象类,接口中的所有方法都没有方法体。接口的方法默认就是public abstract,变量默认就是public static final,可以将draw()方法封装到一个接口中,使需要draw()方法 的类实现这个接口,同时也继承图形类,这就是接口存在的必要性。
    接口使用interface关键字进行定义:
    public interface drawTes{
    void draw()//接口内的方法,省略abstract关键字
    }
    一个类实现一个接口可以使用Implements关键字,在接口中定义的方法必须被定义为Public或abstract形式,其他修饰符不被Java编译器认可,即使不声明为public形式,他也是Public。
    在接口中定义的任何字段都自动是static和final的。
    interface drawTest{
    public void draw();
    }
    class 平行四边形 extends 四边形 implements drawTest{
    pubLi void draw(){     //由于该类实现了接口,所以需要覆盖draw()方法
    System.out.println("平行四边形.draw()");
    }
    void doAnything(){
    //dosomething
    }
    }
    class 正方形 extends 四边形 implements drawTest{
    pubLi void draw(){     //由于该类实现了接口,所以需要覆盖draw()方法
    System.out.println("正方形.draw()");
    }
    void doAnyThing(){
    //something
    }
    }
    public class 四边形{ //something  }
     
    接口的统一标准
    interface USB {
    public void intall();// 加载驱动
     
    public void work();// 工作
    }
     
    class Computer {
    public void plugin(USB usb) {//接收统一的USB对象
    usb.intall();
    usb.work();
    }
     
    }
     
    class Phone implements USB {  //实现接口
     
    @Override
    public void intall() {
    // TODO Auto-generated method stub
    System.out.println("安装手机驱动.....");
     
    }
     
    @Override
    public void work() {
    // TODO Auto-generated method stub
    System.out.println("手机成功连接电脑!");
    }
     
    }
     
    class Print implements USB {
     
    @Override
    public void intall() {
    // TODO Auto-generated method stub
    System.out.println("打印机驱动正在导入....");
    }
     
    @Override
    public void work() {
    // TODO Auto-generated method stub
    System.out.println("打印机已成功连接电脑!!!");
    }
     
    }
     
    public class Test {
    public static void main(String[] args) {
     
    Computer computer = new Computer();
    computer.plugin(new Phone());//向上转传入子类对象
    computer.plugin(new Print());
    }
    }
  • 相关阅读:
    图->存储结构->十字链表
    图->存储结构->邻接表
    P2278-[HNOI2003]操作系统
    P1801-黑匣子_NOI导刊2010提高(06)
    P1197-[JSOI2008]星球大战
    P2024- [NOI2001]食物链
    P1111-修复公路
    ACM模板——二分图匹配
    P2055-[ZJOI2009]假期的宿舍
    ACM模板——强连通分量
  • 原文地址:https://www.cnblogs.com/cainame/p/10091982.html
Copyright © 2020-2023  润新知