zoukankan      html  css  js  c++  java
  • java——接口

    接口

      概述:

        接口就是更深层次抽象类。接口中不能包含实现(静态常量除外)。

      语法:

        interface 接口名{接口成员;}

    // eg:
    public interface Comparable{
            int comparaTo(Object other);
    }

      说明:

        interface   :关键字,用于定义接口

        接口成员  :抽象方法(不需要使用abstract关键字)和静态常量

      作用:

        模板;子类的约束(也可以理解为规则)


    **为了让类实现一个接口,通常需要一下两个步骤:

    1. 将类声明为实现给定的接口
    2. 对接口中的所有方法进行定义

    接口的特性

    • 接口不是类,尤其不能使用new运算符实例化一个接口:x = new Comparable(...);//错误的
    • 然而,尽管不能构造接口对象,却能声明接口的变量:Comparable x;
    • 接口变量必须引用实现了接口的类对象:x = new Employee();
    • 同使用instanceof检查一个对象是否属于某个特定类一样,也可以使用instance检查一个对象是否实现了某个特定的接口:if(anObject instanceof Comparable){...}
    • 与类的继承关系一样,接口也可以被扩展。允许存在多态从具有较高通用性的接口到较高专用性的接口的链。如下例子:
      //Moveable()接口
      public interface Moveable{
          void move(double x,double y);
      }
      
      //可以以Moveable为基础扩展一个叫做Powered的接口
      public interface Powered extend Moveable{
          double milesPerGallon();
      }
      
      //虽然在接口中不能包含实例域或静态方法,但却可以包含常量。
      public interface Powered extends Moveable{
          double milesPweGallon();
          oduble SPEED_LIMIT = 88;
      }
      //与接口中的方法都自动的被设置为public一样,接口中的域被自动设为:public static final
      接口的扩展

    接口与抽象类

    接口与抽象方法基本上效果是一样的,为什么还要引入接口的概念呢?

    • 抽象类表示通用属性存在这样一个问题:每个类只能扩展于一个类。无法实现多个功能
    • 接口可以提供多重继承,同时还能避免多重继承的复杂性和低效率性。
  • 相关阅读:
    jQuery EasyUI API 中文文档 数字框(NumberBox)
    jQuery EasyUI API 中文文档 数值微调器(NumberSpinner)
    jQuery EasyUI API 中文文档 日期时间框(DateTimeBox)
    jQuery EasyUI API 中文文档 微调器(Spinner)
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    jQuery EasyUI API 中文文档 树(Tree)
    jQuery EasyUI API 中文文档 属性表格(PropertyGrid)
    EntityFramework 数据操作
    jQuery EasyUI API 中文文档 对话框(Dialog)
    jQuery EasyUI API 中文文档 组合表格(ComboGrid)
  • 原文地址:https://www.cnblogs.com/rsdqc/p/5350906.html
Copyright © 2011-2022 走看看