例如,我正在尝试做这样的事情
public class Test { public static void main(String args[]) { int[] arr = new int[5]; arrPrint(arr); } public void arrPrint(int[] arr) { for (int i = 0; i < arr.length; i++) System.out.println(arr[i]); } }
我收到一条错误消息,告诉我无法从静态环境中引用非静态变量。因此,如果这是真的,我将如何在main内部使用非静态方法?
你不能 非静态方法是必须在Test类的实例上调用的方法。创建Test的实例以在您的main方法中使用:
public class Test { public static void main(String args[]) { int[] arr = new int[5]; arr = new int[] { 1, 2, 3, 4, 5 }; Test test = new Test(); test.arrPrint(arr); } public void arrPrint(int[] arr) { for (int i = 0; i < arr.length; i++) System.out.println(arr[i]); } }