这个问题已经在这里有一个答案:
我想使用存取(设置/获取)方法在我的程序,当我尝试使用Get方法中的主要方法,我得到这个错误:
不能让一个静态引用从类型学生的非静态方法getID()
。
我不知道该如何去修复这一点。我在Java编程初学者。
这里是有问题的特定行:
设置/ get方法:
public void setID (String ID) {this.ID = ID;}
public String getID() {return this.ID;}
错误行:
System.out.println(Student.getID());
任何意见,将不胜感激!*
尝试这样的事情...
Student aStudent = new Student();
aStudent.setID("2112");
System.out.println(aStudent.getID());
请注意,我已经创建了学生的实例,我要求该实例返回其ID。 Student.getID()是要求学生类返回它的ID,这是不是你有编码的东西,可能不是你想要的。
请立即拨打一个实例,而不是类本身的getID()
。
下面是你的代码的例子:
Bob.getID(); // instead of Student.getID()
而且会更加有帮助,我建议你学习一类/类型和变量/实例的概念之前,停止通过黑客攻击你的方式。
getId()
是Student类的非静态方法和应在对象上被调用,而不是在类本身。
要了解,该ID实例属性都属于一个特定的学生(像鲍勃或托马斯),所以你应该叫Bob.getId()
或Thomas.getId()
您分别给你鲍勃或托马斯的id属性。