我想在JAVA中创建一个自定义类对象并且我创建但它显示错误...不知道为什么会发生此错误,请帮助我因为我开始更早地学习JAVA ... < / p>
class main {
class student {
public int rollno;
public String name;
public int marks;
public void accept() {
rollno = 1;
name = "Pawan Mall";
marks = 100;
}
public void display() {
System.out.println(rollno);
System.out.println(name);
System.out.println(marks);
}
}
public static void main(String argv[]) {
student s = new student();
s.accept();
s.display();
}
}
这是在编译时发生的 这是我编译代码时遇到的错误:
C:\Program Files\Java\jdk1.7.0_03\bin\student.java:28: error: non-static variable this cannot be referenced from a static context
student s = new student();
^
1 error
Tool completed with exit code 1
答案 0 :(得分:2)
student
类中main
类嵌套。由于您尚未将其声明为static
,因此它是inner
类。 The Java Tutorial说:
InnerClass的实例只能存在于OuterClass的实例中。
因为这正是你想要做的,所以它失败了。
您的student
类需要是静态的,因此您可以在静态上下文中对其进行实例化。
class main {
static class student {
public int rollno;
答案 1 :(得分:1)
尝试使用类似
的主类引用创建学生实例main m = new main();
student s= m.new student();
答案 2 :(得分:-1)
名称类的第一个字符必须是大写字母。类的名称和文件名是相同的。在你的情况下:“学生” - &gt; “学生”