私のコードは次のとおりです。Abstract Inner Classのメソッドをオーバーライドするにはどうすればよいですか?
コア/ Base.java
package core;
public class Base {
public abstract class AbstractInner {
abstract void run();
}
}
Test.java
class Test extends core.Base {
class Inner extends AbstractInner {
void run() {}
}
}
javacは、次のように文句を言います。
shell> javac -cp . Test.java
Test.java:2: Test.Inner is not abstract and does not override abstract method run() in core.Base.AbstractInner
class Inner extends AbstractInner {
^
私の間違いは何ですか?
BaseがTestと同じパッケージにある場合、コンパイルは成功します。どうしてか分かりません。
@override注釈がありません...私は間違っている可能性があります。私はjavaにも新しいです。 – worked
@overrideアノテーションはこの問題を解決しません。あなたが試すことができます。 – user1086901