我按照家庭作业的说明完成了以下代码:
public enum AccountType {
Checking {
@Override
String acctType() { return "Checking Account"; }
},
Savings {
@Override
String acctType() { return "Saving Account"; }
},
CreditCard {
@Override
String acctType() { return "Credit Card Account"; }
};
abstract String acctType();
}
但是,最初,我尝试这样做:public abstract String acctType();
并在每个覆盖的方法上收到以下错误:
stringValue() in cannot override stringValue() in AccountType;
attempting to assign weaker access privileges;
was public
public
所以我的问题是抽象方法上的修饰符是怎么回事?枚举本身被声明为公共类,所以我不明白当两者都分配较弱的访问权限时应该似乎是public
。