我有一个具有重载方法的类。
public class MyCal extends GregorianCalendar {
//constructor
public MyCal(Date date) {
super();
setTime(date);
}
boolean isSameDay(Date date) {
return (isSameDay(new MyCal(date))) {
}
boolean isSameDay(MyCal cal) {
if (...) {
return true;
} else {
return false;
}
}
//abstract String toString(String pattern) {};
//if I have this I can't call new MyCal(date) from above
}
现在我希望类是抽象的(需要子类实现一些其他方法),并且仍然避免第一个 isSameDay 方法的所有逻辑(调用第二个)。如果只是这种方法,那我可以做到,但是这种情况在许多其他重载方法上都会复制。
类是抽象的,我无法实例化它,所以方法 isSameDay(date) 会报告一个错误......而且真的不想在所有方法上都有逻辑,它会使类变得巨大并且更难维持。任何人都可以有这样做的好方法吗?先感谢您。