首页 > 编程语言 > 详细

Java接口的default关键字用法解释

时间:2020-01-28 18:15:49      阅读:53      评论:0      收藏:0      [点我收藏+]
// Main.java
public class Main {
    public static void main(String[] args) {
        // TODO
        Income salary = new SalaryIncome(10000);
        Income royalty = new RoyaltyIncome(20000);
        double totalTax = salary.getTax() + royalty.getTax();
        System.out.printf("总计缴税额是:%.2f", totalTax);
    }
}

// Income.java
interface Income {
    default double getTax() {
        return 100.02;
    };
}

// SalaryIncom.java
public class SalaryIncome implements Income{
    protected double income;
    // 构造方法
    public SalaryIncome(double income) {
        this.income = income;
    }
}

// RoyaltyIncome.java
public class RoyaltyIncome implements Income{
    protected double income;
    public RoyaltyIncome(double income) {
        this.income = income;
    }
    
    @Override
    public double getTax() {
        return income * 0.2;
    }
}


/*对于default我的理解是,正常不使用default定义方法的话,继承该interface的子类都必须重写所有的抽象方法,但是如果在interface中通过default定义了一个方法,那么这个方法不是子类所必须重写的。
*/

 

Java接口的default关键字用法解释

原文:https://www.cnblogs.com/swordsman180309/p/12238517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!