Java报错 不懂 求解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java报错 不懂 求解释相关的知识,希望对你有一定的参考价值。

public class TestOop
public class Student
String name;
int age;
char sex;

public void study()
System.out.print(name+"在学习");


public void sayHello(String sname)
System.out.print(name+"向"+sname+"问好");



public static void main(String args[])
Student s1 = new Student();
s1.name="jake";
s1.study();
s1.sayHello("david");



然后就报错:
No enclosing instance of type TestOop is accessible. Must qualify the allocation with an enclosing instance of type TestOop (e.g. x.new A() where x is an instance of TestOop).
能不能 解释的详细点 新手 没学几天~~~

初学者这样写就不太好了
Student 这样定义就是一个内部类了
那你必须要创建外部类TestOop,才能访问它的内部类
TestOop t = new TestOop();
Student s1 = t.new Student();//这样获取内部类的实例

建议新建一个java文件,把这个Student复制出去,

或者放到public class TestOop 这个类(大括号)的外面 但是要去掉public追问

也就是说 我把第一句public class TestOop 给删掉 或者先创建一个TestOop的实例才能在创建一个Student的实例 是吗

追答

就是一个源文件中,尽量放一个类
如果多个类的话,也不要放到某个类的内部去,要放到类外面
一个java源文件,只能有一个public class 声明而且类名必须与文件名相同

参考技术A 你把两个类分开写。不可以写成类里面还有一个类。还有就是一个工程里面只可以有一个public类!追问

谢咯

参考技术B Student s1 = new TestOop().new Student();
内部类的对象要用外部类的对象来new……追问

谢了

以上是关于Java报错 不懂 求解释的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 0640.求解方程:过几天就看不懂了的迷惑性代码,但是是详解

Unity3D小地图制作方法,有一些代码看不懂,求解释!!!

LOCALSERVICE是啥意思,进程管理里面显示的进程,不懂?求解,对电脑有危害吗?

不要再问我贪心算法了!看不懂找我要红包

ubuntu 安装sublimeText的时候 报错了,我对linux系统不熟悉,看不懂报错信息啥意思?求大神解决

C语言实验题,这是输入十六进制数字反序输出的程序,每一步求解释,看不懂程序.