22.接口组成更新

本文介绍了Java接口的更新,包括默认方法、静态方法和私有方法的引入及其使用注意事项。默认方法允许接口提供实现,不强制重写,静态方法只能通过接口调用。Java9引入私有方法,用于接口内部的代码复用。当接口需要更新时,可通过添加默认方法避免破坏已实现类。
摘要由CSDN通过智能技术生成

1.接口组成更新

1.1 接口组成更新概述

接口的组成
    常量
        public static final
    抽象方法
        public abstract
    默认方法(Java 8)
    静态方法(Java 8)
    私有方法(Java 9)

1.2 接口中的默认方法

接口中默认方法的定义格式:
    格式:public default 返回值类型 方法名(参数列表){ }
    范例:public default void show3() { }

接口中默认方法的注意事项:
    默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字
    public可以省略,default不能省略

当想更新该接口时,该怎么办
void method3();  倘若直接更新添加新方法,会导致所有实现类报错
    
    解决方法1:
        创建一个子接口继承自本接口。  这种方法不可取,因为如果更新接口速度较快,会使模块过于庞大

    解决方法2:
        使用default方法定义新方法

1.3 接口中的静态方法

接口中静态方法的定义格式:
    格式:public static 返回值类型 方法名(参数列表) { }
    范例:public static void show() { }

接口中静态方法的注意事项:
    静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
    public可以省略,static不能省略

1.4 接口中私有方法

Java 9中新增了带方法体的私有方法,这其实在Java 8中就埋下了伏笔:Java 8允许在接口中定义带方法体的默认方法和静态方法。这样可能就会引发一个问题:当两个默认方法或者静态方法中包含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是不需要让别人使用的,因此用私有给隐藏起来,这就是Java 9增加私有方法的必然性

接口中私有方法的定义格式:
    格式1:private 返回值类型 方法名 (参数列表) { }
    范例1:private void show() { }
    格式2:private static 返回值类型 方法名(参数列表) { }
    范例2:private static void method() { }

接口中私有方法的注意事项:
    默认方法可以调用私有的静态方法和非静态方法
    静态方法只能调用私有的静态方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值