美文网首页
2019-08-05廖雪峰JAVA课程中涉及的类定义用省略号代替

2019-08-05廖雪峰JAVA课程中涉及的类定义用省略号代替

作者: pzy_24fa | 来源:发表于2019-08-05 21:10 被阅读0次

public class Main {

    public static void main(String[] args) {

        // 给一个有普通收入、工资收入和享受国务院特殊津贴的小伙伴算税:

        Income[] incomes = new Income[] {

            new Income(3000),

            new Salary(7500),

            new StateCouncilSpecialAllowance(15000)

        };

        System.out.println(totalTax(incomes));

    }

    public static double totalTax(Income... incomes) {

        double total = 0;

        for (Income income: incomes) {

            total = total + income.getTax();

        }

        return total;

    }

}

class Income {

    protected double income;

    public Income(double income) {

        this.income = income;

    }

    public double getTax() {

        return income * 0.1; // 税率10%

    }

}

class Salary extends Income {

    public Salary(double income) {

        super(income);

    }

    @Override

    public double getTax() {

        if (income <= 5000) {

            return 0;

        }

        return (income - 5000) * 0.2;

    }

}

class StateCouncilSpecialAllowance extends Income {

    public StateCouncilSpecialAllowance(double income) {

        super(income);

    }

    @Override

    public double getTax() {

        return 0;

    }

}


在这段中有 public static double totalTax(Income... incomes) {

        double total = 0;

        for (Income income: incomes) {

            total = total + income.getTax();

        }

一段我不是十分理解,通过百度查阅。

我了解到...号是用来代替多个参数的办法

在前面的Income是定义了类

...表示多个参数

具体内容参考https://www.cnblogs.com/fnlingnzb-learner/p/5952716.html

https://bbs.csdn.net/topics/360212584?list=249042

可变参数如何对应

相关文章

网友评论

      本文标题:2019-08-05廖雪峰JAVA课程中涉及的类定义用省略号代替

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