Java 泛型与集合框架深度解析
1. 递归类型参数与税收策略模式
在 Java 编程中,递归类型参数是一种常见的编程技巧。例如,在税收策略模式中,我们可以看到这样的应用。以下是几种不同的税收策略类:
class DodgingTaxStrategy<P extends TaxPayer<P>> implements TaxStrategy<P> {
public long computeTax(P payer) { return 0; }
}
class TrustTaxStrategy extends DefaultTaxStrategy<Trust> {
public long computeTax(Trust trust) {
return trust.isNonprofit() ? 0 : super.computeTax(trust);
}
}
这里, DodgingTaxStrategy 类使用了递归类型参数 P extends TaxPayer<P> ,它实现了 TaxStrategy 接口,并且 computeTax 方法返回 0,表示逃避税收的策略。而 TrustTaxStrategy 类继承自 DefaultTaxStrategy<Trust> ,根据信托是否为非营利性质来计算税收。
递归类型参数
超级会员免费看
订阅专栏 解锁全文
66

被折叠的 条评论
为什么被折叠?



