次のように匿名クラスを宣言する場合:
ResourceBundle.Control は具象クラスであることに注意してください。
hereから取得したスニペット。
private static void test(Locale locale) {
ResourceBundle rb = ResourceBundle.getBundle("ResourceBundle", locale,
new ResourceBundle.Control() {
@Override
public List<Locale> getCandidateLocales(String baseName, Locale locale) {
if (baseName == null)
throw new NullPointerException();
if (locale.equals(new Locale("it", "IT"))) {
return Arrays.asList(
locale,
Locale.ITALY,
Locale.CHINESE ,
Locale.ROOT);
} else if (locale.equals(Locale.GERMANY)) {
return Arrays.asList(
locale.GERMANY,
// no Locale.CHINESE here
Locale.ROOT);
}
return super.getCandidateLocales(baseName, locale);
}
});
基本的にextends
、匿名クラスを宣言するときにキーワークが使用されていないことがわかります。それは当たり前のことですか?extends
もしそうなら、いつ匿名クラスで使用するのが適切ですか?
前もって感謝します。