我在主要方法下编写了一个方法,
public static LinkList getContents()
然后在主方法LinkList list = getContents()
它只能在我在getContents的声明中添加静态时起作用,为什么?
否则会报告错误!
答案 0 :(得分:3)
必须在类的特定实例上调用非静态方法,例如anObject.getContents()
。
答案 1 :(得分:0)
这是Java中一个非常重要的概念!因为在静态方法(例如main)中调用或引用事物时,只能引用其他静态变量,方法和对象。
相反,您仍然可以从非静态方法中引用静态数据。
解决这个问题的方法是制作一个"对象"你的班级这开始涉及面向对象编程的核心概念之一。
制作类的对象(在main中):
ClassName - > 选择任何名称< - = new ClassName();
然后你可以像这样引用这个方法 - > 你选择的名字 .getContents();
这是一些练习代码
public class Person{
public void setName(String name){
...
}
public static void main(String[] args){
Person bob = new Person();
bob.setName("pete");
}
}