码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-01-28 19:14:40      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:通过   style   rgs   ring   ret   使用   str   ace   nts   

// 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关键字用法解释

标签:通过   style   rgs   ring   ret   使用   str   ace   nts   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!