gpt4 book ai didi

java - 分层继承

转载 作者:行者123 更新时间:2023-12-02 02:57:48 29 4
gpt4 key购买 nike

我找到了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();
}
}

最佳答案

由于 Hierarchical2Hierarchical3 不是静态的,因此您需要一个封闭类 (Hierarchical) 的实例来实例化这些类。

具体操作方法如下:

Hierarchical hierarchical = new Hierarchical();
Hierarchical2 hierarchical2 = hierarchical .new Hierarchical2();

将类 Hierarchical2Hierarchical3 声明为静态,您可以像您所做的那样实例化。

希望对你有帮助。

关于java - 分层继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42832209/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com