不能使从类型学生的静态参照非静态方法的getID()[重复]

问题描述 投票:-1回答:3

这个问题已经在这里有一个答案:

我想使用存取(设置/获取)方法在我的程序,当我尝试使用Get方法中的主要方法,我得到这个错误: 不能让一个静态引用从类型学生的非静态方法getID()

我不知道该如何去修复这一点。我在Java编程初学者。


这里是有问题的特定行:

设置/ get方法:

public void setID (String ID) {this.ID = ID;}
public String getID() {return this.ID;}

错误行:

System.out.println(Student.getID());

任何意见,将不胜感激!*

A full picture of my code.

java
3个回答
4
投票

尝试这样的事情...

Student aStudent = new Student();
aStudent.setID("2112");
System.out.println(aStudent.getID());

请注意,我已经创建了学生的实例,我要求该实例返回其ID。 Student.getID()是要求学生类返回它的ID,这是不是你有编码的东西,可能不是你想要的。


1
投票

请立即拨打一个实例,而不是类本身的getID()

下面是你的代码的例子:

Bob.getID(); // instead of Student.getID()

而且会更加有帮助,我建议你学习一类/类型和变量/实例的概念之前,停止通过黑客攻击你的方式。


0
投票

getId()是Student类的非静态方法和应在对象上被调用,而不是在类本身。

要了解,该ID实例属性都属于一个特定的学生(像鲍勃或托马斯),所以你应该叫Bob.getId()Thomas.getId()您分别给你鲍勃或托马斯的id属性。

© www.soinside.com 2019 - 2024. All rights reserved.