このjavatpointのコードが見つかりました。しかし、私はこれをコンパイルしようとするとエラーになります。階層的継承
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
No enclosing instance of type Hierarchical is accessible. Must qualify the allocation with an enclosing instance of type Hierarchical (e.g. x.new A() where x is an instance of Hierarchical).
No enclosing instance of type Hierarchical is accessible. Must qualify the allocation with an enclosing instance of type Hierarchical (e.g. x.new A() where x is an instance of Hierarchical).
at Inheritance.Hierarchical.main(Hierarchical.java:28)
なぜこのエラーが発生しますか? Eclipse
はクラスを静的にするように指示しますが、私はなぜそれを理解できませんか?
package Inheritance;
public class Hierarchical {
static void bayern() {
System.out.println("bayern");
}
class Hierarchical2 extends Hierarchical {
static void barcelona() {
System.out.println("barcelona");
}
}
class Hierarchical3 extends Hierarchical {
static void Madrid() {
System.out.println("madrid");
}
}
public static void main(String[] args) {
Hierarchical2 h2 = new Hierarchical2();
Hierarchical3 h3 = new Hierarchical3();
h2.barcelona();
h2.bayern();
h3.Madrid();
h3.bayern();
}
}
[Javaの内部クラスと静的なネストされたクラス]の複製の可能性があります(http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class) –