3

我想在 JAVA 中创建一个自定义类对象并且我创建了但它显示错误...不知道为什么会发生此错误,请帮助我,因为我开始更早地学习 JAVA...


  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
4

3 回答 3

2

您的student班级嵌套main班级内部。由于您尚未将其声明为static,因此它是一个inner类。Java教程说:

InnerClass 的实例只能存在于 OuterClass 的实例中。

因为这正是你想要做的,所以它失败了。

您的student类需要是静态的,因此您可以在静态上下文中实例化它。

class main {

    static class student {
        public int rollno;
于 2012-04-13T06:40:11.717 回答
1

尝试使用这样的主类引用创建学生实例

main m = new main();

student s= m.new student(); 
于 2012-04-13T06:37:36.380 回答
-1

名称类的第一个字符必须是大写。类名和文件名相同。在你的情况下:“学生”->“学生”

于 2012-04-13T06:36:41.467 回答