zoukankan      html  css  js  c++  java
  • java接口(interface)

    一、定义

      接口是一系列方法的声明。只有方法的声明,没有方法的实现,它的方法全部是抽象方法,可以在不同的地方被不同的类实现。

    接口定义:

    [public] [static] interface <接口名>{

      [public] [final] 类型标识符  符号常量名 = 常数;

      [public] [abstract] 返回值类型 方法名 ([参数列表]);

      ...

    }

    接口中的成员变量默认是public static final类型的。可以省略不写

    接口中的方法默认是public abstract类型的,无方法体,不可实例化。可以省略不写

    例如:定义Usb接口

    interface Usb{

      int A = 10;

      void service();

    }//省略了所有访问控制符

    等同于

    public interface Usb{

      public static final int A = 10;

      public abstract void service();

    }

    二、接口的特点

    1、接口中没有构造函数,不能实例化

    2、接口中的所有方法都是抽象方法

    3、必须通过类来实现它的抽象方法

    4、一个接口不能实现(implements)另一个接口,但是可以继承多个其它的接口

    5、不允许实例化,允许定义接口类型的引用变量,来引用实现了该接口的实例(类似向上转型)

    6、一个类只能继承一个直接父类,但可以实现多个接口,相当于多继承

    三、接口的实现

        接口的实现使用关键字   (implements)  多个接口使用" , " 分隔

      

    Public interface Usb{

      Void service();

    }

    Public class UDisk implements Usb{

      Public void service(){

        System.out.print("插入了U盘!");

      }

    }

    public class Test{

      public static void main(String[] args) {

        Usb usb = new UDisk();

        usb.service();

      }

    }

    三、为什么需要接口

    1、免除重复定义

    例如对于吃东西的这个方法 eat();动物可以吃,人可以吃,有的植物可以吃,机械可以吃,只是吃的方式不同,可以定义接口

    interface Eat{

      void eat();

    }

    当需要时直接实现这个接口就可以了,可以免除重复定义

    2、方便扩展

  • 相关阅读:
    springboot Quartz 定时任务工具类
    java 发邮件 代码
    spring boot 整合 shiro 权限框架
    java 读取xml
    flowable 报错 Waiting for changelog lock....
    微服务 springcloud Alibaba 阿里组件 项目源码
    Java 读取汉字拼音
    syslog how to
    c++ 字符串总结
    aptget 总结
  • 原文地址:https://www.cnblogs.com/mo-xue/p/5754122.html
Copyright © 2011-2022 走看看