美文网首页Java自学
Java自学-接口与继承 默认方法

Java自学-接口与继承 默认方法

作者: Wester西人 | 来源:发表于2019-09-26 09:38 被阅读0次

默认方法

步骤 1 : 什么是默认方法

默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法

Mortal 这个接口,增加了一个默认方法 revive,这个方法有实现体,并且被声明为了default

package charactor;
 
public interface Mortal {
    public void die();
 
    default public void revive() {
        System.out.println("本英雄复活了");
    }
}

步骤 2 : 为什么会有默认方法

假设没有默认方法这种机制,那么如果要为Mortal增加一个新的方法revive,那么所有实现了Mortal接口的类,都需要做改动。

但是引入了默认方法后,原来的类,不需要做任何改动,并且还能得到这个默认方法

通过这种手段,就能够很好的扩展新的类,并且做到不影响原来的类

练习默认方法

为AD接口增加一个默认方法 attack()
为AP接口也增加一个默认方法 attack()
问: ADAPHero同时实现了AD,AP接口,那么 ADAPHero 对象调用attack()的时候,是调用哪个接口的attack()?

答案

package charactor;
 
public class ADAPHero extends Hero implements AD,AP,Mortal{
 
    @Override
    public void magicAttack() {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void physicAttack() {
        // TODO Auto-generated method stub
         
    }
 
    @Override
    public void die() {
        System.out.println(name+ " 这个混合英雄挂了");
    }
 
    //作为同时继承了AD和AP中的 默认方法attack,就必须在实现类中重写该方法
    //从而免去到底调用哪个接口的attack方法这个问题
    @Override
    public void attack() {
        //
        System.out.println("这个ADAPHero自己的attack方法");
    }
 
}

相关文章

  • Java自学-接口与继承 默认方法

    默认方法 步骤 1 : 什么是默认方法 默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能...

  • Java8 新特性与 lambda 表达式笔记

    java8 的接口新特性 先看看下面的接口的默认方法和静态方法,感受一下: 默认实现方法 如果多继承状态下有默认方...

  • Java自学-接口与继承 接口

    设计Java的接口 在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可...

  • 重拾Kotlin(7)-接口

    一、接口 1.1、抽象方法与默认方法 Kotlin 中的接口与 Java 8 中的类似,可以包含抽象方法的定义以及...

  • Java自学-接口与继承 重写

    Java 重写方法 子类可以继承父类的对象方法 在继承后,重复提供该方法,就叫做方法的重写 又叫覆盖 Overri...

  • Java自学-接口与继承 隐藏

    Java中的方法隐藏 与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法 步骤 1 :...

  • Java自学-接口与继承 super

    Java的super关键字 步骤 1 : 准备一个显式提供无参构造方法的父类 准备显式提供无参构造方法的父类在实例...

  • Java自学-接口与继承 多态

    Java的多态 操作符的多态+可以作为算数运算,也可以作为字符串连接 类的多态父类引用指向子类对象 示例 1 : ...

  • Java自学-接口与继承 final

    Java的修饰符final final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。 示例 1 : fi...

  • Kotlin 接口

    Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现: 实现接口...

网友评论

    本文标题:Java自学-接口与继承 默认方法

    本文链接:https://www.haomeiwen.com/subject/xxliuctx.html