孙Cloud的Java学习博客-9-接口

这是关于接口部分的学习总结

  • 接口的概述与生活举例
    接口就是一种公共的规范规则,只要符合规范标准,就可以大家通用(如USB接口),在程序中,接口就是多个类的公共规范,接口也是一种引用数据类型,最重要的内容就是其中的抽象方法。接口的定义格式为:public interface 接口名称{// 接口内容}
    换成了关键字interface之后,变异生成的字节码文件仍是Java>>.class
    接口中包含的内容有:
    1.常量2.抽象方法3.默认方法4.静态方法5.私有方法 定义抽象方法的格式为public abstract

- 接口的抽象方法使用
1.接口不能直接使用,必须有一个实现类来实现该接口;
public class 实现类名称 implements 接口名称{}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
3.创建实现类的对象进行使用,如果实现类没有被全部覆盖重写,那他本身就是一个抽象类
- 接口的默认方法定义
public default 返回值类型 方法名称(参数列表){
方法体}
备注:接口当中的默认方法,可以解决接口的升级问题,比如接口升级了,就新增了抽象方法,他底下的实现类必须实现接口的全部抽象方法,也会受到波及而错误,但是呢,已经投入并使用了,所以有这样一个默认方法
接口的默认方法使用:
public default void method(){
方法…}
1.接口的默认方法,可以通过接口实现类对象直接调用
2.接口的默认方法,也可以被接口实现类进行覆盖重写
- 接口的静态方法定义
public static 返回值类型 方法名称(参数列表){
方法体}
使用时注意:不能通过接口实现类的对象来调用接口中的静态方法
格式:接口名称.静态方法名(参数)
- 接口的私有方法定义
我们需要抽取一个公有方法,用来解决两个默认方法中间有重复代码的问题,但是这个共有方法不应该让实现类使用,应该是私有化的。
解决:定义私有化方法
1.普通私有化,解决多个默认方法之间重复代码的问题
格式private 返回值类型 方法名称(参数列表){
方法体}
2.静态私有化,解决多个私有方法之间重复代码的问题
private static 返回值类型 方法名称(参数列表){
方法体}

- 私有方法的使用

  • 接口的常量(成员变量)定义和使用
    接口当中也可以定义“成员变量”但是必须使用 public static final 三个关键字进行修饰
    eg:public static final int num = 10;一旦赋值不可以改变
    接口中的常量不可以改变,常量定义的名称一般格式为大写字母加分割下划线_SUN_SUN;

  • 接口内容小结
    1.长廊必须进行赋值,且不可改变,名称全部大写且进行分隔
    2.实现类必须全覆盖重写接口中所有抽象方法
    3.默认方法也可以覆盖重写
    4.静态方法应该直接通过接口名进行调用
    5.私有方法只能接口自己调用,别人不能用

  • 使用接口时应当注意
    1.接口是没有静态代码块的,也没有构造方法
    2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
    3.如果实现类实现的多个接口,存在重复的抽象方法,那么只需覆盖重写一次即可
    4.如果实现类实现的多个接口,存在重复的默认方法,实现类一定要对冲突的默认方法进行覆盖重写
    6.一个类如果直接父类当中的方法与接口的方法冲突,则优先使用父类当中的方法

  • 接口与接口之间是多继承的

  • 类和类之间是单继承的

  • 类和接口之间是多实现的,一个类可以实现多个接口。

猜你喜欢

转载自blog.csdn.net/weixin_44719191/article/details/108651450
今日推荐