次のコードを検討してください。
public static void main(String[] args) {
File file = new File("C:\\someFile.txt") {
public void doStuff() {
// Do some stuff
}
};
file.doStuff(); // "Cannot resolve method"
}
新しく定義したメソッドを呼び出そうとしてもdoStuff()
、それは不可能です。これは、 が新しい匿名の子クラスのインスタンスとしてではなくfile
、型のオブジェクトとして宣言されているためです。File
だから、私の質問は、この動作を達成するための「良い」方法はありますか? 明らかなこと以外(つまり、クラスを適切に宣言するだけです)。