package com.itranswarp.learnjava; /** * @Package: com.itranswarp.learnjava * @ClassName: Main * @Author: weixu * @CreateTime: 2021/8/16 20:38 * @Description: oop-abstractclass */ public class Main { public static void main(String[] args) { // TODO: 用抽象类给一个有工资收入和稿费收入的小伙伴算税: Income[] incomes = new Income[]{ new SalaryIncome(7500), new RoyaltyIncome(12000)}; double total = 0; // TODO: for (Income income : incomes) { total += income.getTax(); } System.out.println(total); } } /** * 定义抽象类Income */ abstract class Income { protected double income; public Income(double income) { this.income = income; } public abstract double getTax(); } class SalaryIncome extends Income { public SalaryIncome(double income) { super(income); } @Override public double getTax() { if (income <= 5000) { return 0; } return (income - 5000) * 0.2; } } /** * 稿费收入税率是20% */ class RoyaltyIncome extends Income { public RoyaltyIncome(double income) { super(income); } @Override public double getTax() { return income * 0.2; } }
Sign in to make a reply
wxs2011133069