首页 > 基础资料 博客日记
Exception in thread “main“ java.lang.Error: Unresolved compilation problem: No enclosing instance
2023-11-23 18:01:27基础资料围观517次
Java资料网推荐Exception in thread “main“ java.lang.Error: Unresolved compilation problem: No enclosing instance这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣
JAVA出现“Exception in thread “main” java.lang.Error: Unresolved compilation problem: ”异常处理
代码报错
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
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).
at com.atguigu.java.PersonTest.main(PersonTest.java:6)
在学习面向对象这一章时,执行以下代码报出来了上述错误,通过查阅资料发现是在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);
}
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+"话");
}
}
}
修改之后的代码
public 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+"话");
}
}
运行结果就不报错了
另外一种解决方法
先用类声明一个对象,用对象调用方法,这个时候就不会报错了,如下图
文章来源:https://blog.csdn.net/weixin_53661770/article/details/128900572
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: