Non-static method 'getAge()' cannot be referenced from a static context
时间: 2023-12-06 19:35:49 浏览: 85
这个错误通常出现在尝试从静态方法中引用非静态方法或变量时。因为静态方法是类级别的,而非静态方法是实例级别的,所以在静态方法中无法直接引用非静态方法或变量。解决这个问题的方法是要么将方法或变量改为静态的,要么创建一个类的实例并使用该实例来调用非静态方法。
以下是一个例子,演示了如何解决这个问题:
```java
public class Person {
private int age;
public static void main(String[] args) {
Person person = new Person();
person.setAge(20);
System.out.println("Age: " + person.getAge());
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
```
在这个例子中,我们创建了一个Person类,其中包含一个非静态的getAge()方法。在main()方法中,我们创建了一个Person对象,并使用该对象调用setAge()方法来设置年龄。然后,我们使用该对象调用getAge()方法来获取年龄,并将其打印到控制台上。这样就避免了Non-static method 'getAge()' cannot be referenced from a static context这个错误。
阅读全文