zoukankan      html  css  js  c++  java
  • 接口

    1、接口:代表一组行为标准

    2、如何声明接口?

    【修饰符】 interface 接口名{
       
    }
    【修饰符】 interface 接口名 extends 父接口们{
       
    }

    3、接口的成员

    JDK1.8之前:

    (1)公共的静态的常量:public static final 这三个修饰符可以全部或部分省略

    (2)公共的抽象方法:public abstract 这两个修饰符也可以全部或部分省略

    JDK1.8之后:

    (3)公共的默认方法:public default,其中default是不能省略

    (4)共的静态方法:public static,其中static是不能省略

    JDK1.9之后:

    (5)私有的方法

    4、如何实现接口?

    【修饰符】 class 实现类 implements 父接口们{
       
    }
    【修饰符】 class 类名 extends 父类 implements 父接口们{
       
    }

    Java类与类之间只支持单继承,但是类与接口之间支持多实现。

    如果继承和实现一起,必须先写继承后写实现

    5、接口可以继承接口

    【修饰符】 interface 接口名 extends 父接口们{
       
    }

    6、接口不能直接实例化,只能实现类的对象

    7、默认方法可能会出现冲突?

    (1)当一个实现类同时实现多个接口,多个接口中出现了“方法签名”相同的默认方法时,那么需要处理?

    A:保留其中一个的实现

    接口名.super.方法

    B:完全重写

    (2)当一个实现类继承父类,又实现接口,父类中的某个方法与接口中的默认方法签名相同,我们可以选择处理?

    A:默认编译器保留的是父类的

    B:我可以手动选择父接口的

    接口名.super.方法

    C:选择重写

    8、面试题陷阱

    (1)当父类与父接口中的成员变量重名时,我们要在子类中访问的话,需要进行区别?

    父类的:super.进行访问

    接口的:接口名.进行访问

    (2)接口中的成员变量一定是常量,值是不能修改的

     

    9、常见的接口

    (1)java.lang.Comparable:自然排序接口

    抽象方法:public int compareTo(Object obj)

    (2)java.util.Comparator:定制排序接口

    抽象方法:public int compare(Object o1, Object o2)

    (3)java.lang.Cloneable

    当你要重写Object类中Object clone()方法时,需要实现这个接口。

  • 相关阅读:
    前端基础之BOM和DOM
    前端基础之JavaScript
    前端基础之CSS
    Black And White HDU
    Robot Motion HDU
    A Knight's Journey POJ
    Find a way HDU
    排序 HDU
    Dungeon Master POJ
    Network Saboteur POJ
  • 原文地址:https://www.cnblogs.com/panyizuoshan/p/11454729.html
Copyright © 2011-2022 走看看