【发布时间】:2020-01-11 01:53:07
【问题描述】:
我有以下类,我想在其中自动生成 premium 的值:
public class MedicalPolicy implements PolicyType {
private int id;
private LocalDate effective;
private LocalDate expiry;
private String policyNo;
private double premium;
private ArrayList<Beneficiary> beneficiaries;
public MedicalPolicy(LocalDate effective,LocalDate expiry,ArrayList<Beneficiary> beneficiaries){
this.id=0;
this.effective=effective;
this.expiry=expiry;
this.beneficiaries=beneficiaries;
this.premium=getPremiumByCalculation();
this.policyNo= Integer.toString(LocalDate.now().getYear()) + "-Medical-" + Integer.toString(id);
}
private double getPremiumByCalculation(){
//do some calculation based on some criteria
}
}
像我一样使用方法来计算保费是一种好习惯还是有更好的方法?
【问题讨论】:
-
是的。没关系。为什么不呢?
-
做任何事情都会导致最干净的代码。除非您注意到有充分的理由担心,否则不要担心此类小事。
-
只要该方法不可被覆盖,就可以了。
-
在你的情况下,它是一个
private方法,因此不可覆盖,因此很好。但是,非final类中的public、非final方法将是另一回事......
标签: java constructor