Java8新特性_接口中的默认方法与静态方法

package com.zs.boot.controller;

public interface MyFun {
    default String getName(){
        return "哈哈";
    }
}


package com.zs.boot.controller;

public class MyClass {
    public String getName(){
        return "嘿嘿";
    }
}


package com.zs.boot.controller;

public class SubClass extends MyClass implements MyFun{
}


package com.zs.boot.controller;

public class TestDefaultInterface {
    public static void main(String[] args) {
        SubClass sc = new SubClass();
        System.out.println(sc.getName());//嘿嘿

    }
}


package com.zs.boot.controller;

public interface MyInterface {
    //默认方法
    default String getName(){
        return  "呵呵";
    }

    //public可省略
    public static void show(){
        System.out.println("接口中的静态方法");
    }



}
package com.zs.boot.controller;

public class TestDefaultInterface {
    public static void main(String[] args) {
        SubClass sc = new SubClass();
        System.out.println(sc.getName());//嘿嘿

        //接口中的静态方法只能通过接口本身去调用,类似于Class中的静态方法
        /*不存在默认方法中的多继承问题,
        静态方法并不能在实现类中被覆写,
        实现类中可以声明相同的方法,
        但这两个方法之间除了名字相同,
        并没有 Override 关系*/
        MyInterface.show();//接口中的静态方法

        //我的理解:接口里面使用default和static定义方法的意义是避免子类重复实现同样的代码

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值