Java 如何修复:非静态变量无法从静态上下文引用此变量
为什么我甚至不能实例化这个对象?我很困惑,我是否以错误的方式创建了对象Java 如何修复:非静态变量无法从静态上下文引用此变量,java,Java,为什么我甚至不能实例化这个对象?我很困惑,我是否以错误的方式创建了对象 class Main { public class Age { public int years = 1; public Age(int y) { years = y; } public void print() { System.out.println(years); } }
class Main {
public class Age {
public int years = 1;
public Age(int y) {
years = y;
}
public void print() {
System.out.println(years);
}
}
public static void main(String[] args) {
Age four = new Age(4); age = four;
age.years++;
four.print();
}
}
嵌套的类年龄是非静态的,这意味着您需要一个主类的实例来引用年龄。将年龄定义为静态,或创建新的主对象
public static void main(String[] args) {
Age four = (new Main()). new Age(4);
Age age = four;
age.years++;
four.print();
}
编辑:
或者在Main之外声明它,而不是嵌套类。或者在Main之外声明Age。