Discuss / Java / 创建抽象类的的时候直接重写~~~

创建抽象类的的时候直接重写~~~

Topic source

_崔先生_

#1 Created at ... [Delete] [Delete and Lock User]

public class tax2 {
public static void main(String[] args) {
Income2 a = new Salari(20);
Income2 b = new Remuneration(200);
Income2 c = new Income2(3000) {
@Override
public double tax() {
return Income/3;
}
};
System.out.println(allTax(a, b, c));
}

public static double allTax(Income2... incomes) {
double tax = 0;
for (Income2 income:incomes) {
tax += income.tax();
}
return tax;
}
}

abstract class Income2 {
protected final double Income;
public Income2(double income) {
this.Income = income;
}
public abstract double tax();
}

class Salari extends Income2 {
public Salari(double income) {
super(income);
}

@Override
public double tax() {
return this.Income * 0.1;
}
}

class Remuneration extends Income2 {
public Remuneration(double income) {
super(income);
}

@Override
public double tax() {
return this.Income * 0.01;
}
}


  • 1

Reply