Java 8 (1/6篇) - 接口增强(默认方法 静态方法)

【default 关键字】

目的:

对于 Java8 之前的语法----“接口中只能定义抽象方法,实现类必须实现全部抽象方法”,一般是不能拓展接口的,如果拓展则所有实现类都要改动。Java8 因此对接口引入了 default 默认方法。实现类不需要实现就能继承该方法,同时也可以复写该方法。

使用说明:

①不能重写基类 Object 中的 public 方法。

②类优先原则:如果父类和接口默认方法有相同名称及参数列表的方法,则使用父类中的。

③如果实现类继承的接口A和接口B有相同名称及参数列表的方法,需要手动重写来解决冲突。

【静态方法】

目的:

将相关的方法内聚在接口中,而不必创建新的对象。

使用说明:

使用方法和类中的静态方法一样,直接通过 接口名.静态方法名 调用。接口中的静态方法是不会被继承的,实现类无法通过自身调用,也不能重写。(注:本就不鼓励使用实例调用静态方法,在编码的时候,实例.的时候IDEA不会提示静态方法,需要自己全拼才会显示,而不是实例不能调用静态方法。)

【Java8 中接口与抽象类的区别】

①抽象类可随意继承类和接口,接口只能继承接口。

②抽象类的变量和普通类没有区别,接口变量都是public static void。

③抽象类有构造方法,接口没有。

④抽象类的静态方法能被子类继承,接口不能。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值