接口.super 的用法

原理不明,但是实操就是如下现象

public interface IMathOperation {

    default void print(){
        System.out.println("这是数值运算基本接口。。。");
    }

    static void version(){
        System.out.println("这是1.0版简易计算器");
    }

    public int add(int a,int b);
}
public class MathOperationImpl implements IMathOperation {
    @Override
    public int add(int a, int b) {
        System.out.println("IMathOperation.class            : " + IMathOperation.class);
        System.out.println("IMathOperation.super.getClass() : " + IMathOperation.super.getClass());

        // 子类中可以直接调用父类接口默认方法
        IMathOperation.super.print();
        // 调用父类静态默认方法
        IMathOperation.version();
        return a + b;
    }

    public static void main(String[] args) {
        IMathOperation iMathOperation = new MathOperationImpl();
        System.out.println(iMathOperation.add(1, 3));

        // IMathOperation.super.print();//报错
        // iMathOperation.super.print();//报错
        // IMathOperation.print();//报错 default方法不能被类直接调用
        iMathOperation.print(); // 对象可以调用default方法
        IMathOperation.version();// 类可以调用static方法
        // iMathOperation.version();//报错 static方法不能被对象调用
    }
}
IMathOperation.class            : interface java8_interface.IMathOperation
IMathOperation.super.getClass() : class java8_interface.MathOperationImpl
这是数值运算默认方法...
这是1.0版简易计算器
4
这是数值运算默认方法...
这是1.0版简易计算器
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值