Exception in thread "main" java.lang.Error: Unresolved compilation problem
时间: 2023-11-08 17:52:08 浏览: 234
"Exception in thread "main" java.lang.Error: Unresolved compilation problem"是Java中的一个编译错误。这种错误通常是由于语法错误或代码逻辑错误导致的。在你提供的代码中,出现了一个编译错误,错误信息是"No enclosing instance of type PersonTest is accessible. Must qualify the allocation with an enclosing instance of type PersonTest (e.g. x.new A() where x is an instance of PersonTest)."。
这个错误发生在你尝试在静态方法main中创建一个非静态内部类Person的实例时。由于PersonTest类是静态的,你无法在静态方法中直接访问非静态内部类。解决这个问题的方法是将Person类改为静态。
以下是修改后的代码示例:
```java
package com.atguigu.java;
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person();
p1.age = 5;
p1.ismale = true;
p1.name = "tom";
p1.eat();
p1.talk("Chinese");
p1.sleep();
System.out.println(p1.name);
}
static class Person {
String name;
int age;
boolean ismale;
public void eat() {
System.out.println("人会吃饭");
}
public void sleep() {
System.out.println("人会睡觉");
}
public void talk(String language) {
System.out.println("人会说" + language + "话");
}
}
}
```
现在,你可以成功编译并运行这段代码了。
阅读全文