zoukankan      html  css  js  c++  java
  • Java读书笔记08 接口

     

    接口interface

    接口及其使用

      接口技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现。一个类可以实现(implement)一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。

      接口不是类,而是一组对类的需求描述,这些类要遵从接口描述的统一格式进行定义。

      如Comparable接口

      public interface Comparable<T>

      {

          int compareTo(T other);

      }

      例如,在实现Comparable<Employee>接口的类型中,必须提供以下方法:

      int compareTo(Employee other)

      也可以使用没有类型参数的Comparable类型,但必须手工地将compareTo方法的参数转换成所希望的类型。

     

      接口中的所有方法自动地属于public,因此在接口中声明方法时,不必提供关键字public。但是在实现接口时,必须把方法声明为public。

      在接口中还可以定义成员变量(常量),接口中的域被自动地设为public static final

      然而,接口绝不能含有实例域,也不能在接口中实现方法,提供实例域和方法实现的任务应该由实现接口的那个类来完成。

      

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

      1.将类声明为实现给定的接口,使用关键字implements

      如:class Employee implements Comparable

      2.对接口中的所有方法进行定义。

      接口也可以继承接口,使用关键字extends。

     

    接口的特性

      接口不是类,不能使用new运算符实例化一个接口。

      尽管不能构造接口对象,却能声明接口变量,接口变量必须引用实现了接口的类对象。

      Comparable x;

      x=new Employee(…);

      与使用instanceof检查一个对象是否属于某个特定类一样,也可以用instanceof检查一个对象是否属于某个特定的接口。

      接口也可以像类一样建立继承关系。

      尽管每个类只能拥有一个超类,但却可以实现多个接口,使用逗号将实现的各个接口分隔开。

     

    接口与抽象类

      C++允许一个类有多个超类,此特性称为多继承(multiple inheritance),而Java的设计者选择了不支持多继承,使用接口机制来实现多继承的大部分功能

  • 相关阅读:
    BZOJ4896 THUSC2016补退选(trie)
    BZOJ4892 Tjoi2017dna(后缀数组)
    BZOJ4890 Tjoi2017城市
    BZOJ4888 Tjoi2017异或和(树状数组)
    BZOJ4887 Tjoi2017可乐(动态规划+矩阵快速幂)
    BZOJ4883 棋盘上的守卫(环套树+最小生成树)
    BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
    BZOJ4878 挑战NP-Hard(dfs树)
    BZOJ5466 NOIP2018保卫王国(倍增+树形dp)
    BZOJ4873 Shoi2017寿司餐厅(最小割)
  • 原文地址:https://www.cnblogs.com/mengdd/p/2650309.html
Copyright © 2011-2022 走看看