宿題の指示に従って、次のコードを完成させました。
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
、抽象メソッドの修飾子で何が起こっているのですか? enum自体はパブリッククラスとして宣言されているため、両方の場合に弱いアクセス権限を割り当てることについて少し理解していませんしたほうがいいのようですpublic
。