这个问题在这里已有答案:
class TheAnimal {
public class Animal {
void bark(){
System.out.println("Woof-Woof");
}
}
public static void main(String[] args){
Animal dog = new Animal();
dog.bark();
}
}
//继续说第12行动物狗=新动物();在编译之后它是一个非静态变量并且它不能从静态上下文中引用。
您创建了一个内部类Animal,它只能在外部类实例上下文中实例化(这可能不是您现在想要/需要的)。将你的内部类声明为static将让你按照你的想法实现它:
class TheAnimal {
static public class Animal {
void bark(){
System.out.println("Woof-Woof");
}
}
public static void main(String[] args){
Animal dog = new Animal();
dog.bark();
}
}
你内在的类Animal
需要一个TheAnimal
的实例,使它成为static
。
public static class Animal {
void bark(){
System.out.println("Woof-Woof");
}
}
或者,你需要TheAnimal
中的main
实例。喜欢,
public static void main(String[] args) {
Animal dog = new TheAnimal().new Animal();
dog.bark();
}