#java #object #methods #static #instance
#java #объект #методы #статический #экземпляр
Вопрос:
public class Sum{
int sum = 0;
public static void sum_do(String array[]){
int tmpi = 0;
for (int i=0; i<array.length; i){
tmpi = Integer.parseInt(array[i]);
sum = tmpi;
}
}
}
Я хотел бы изменить переменную sum, но я не могу этого сделать.
./Sum.java:9: error: non-static variable sum cannot be referenced from a static context
sum = tmpi;
^
1 error
Я действительно новичок в Java, так что это, вероятно, очень простой материал
Комментарии:
1.Вы не можете ссылаться на переменную экземпляра напрямую, если она не является статической. Вы можете либо объявить переменную экземпляра
sum
как статическую, чтобы получить к ней доступ внутри метода. Пример:static int sum = 0;
ИЛИ вам нужно создать объект вашего класса для доступа к этой переменной экземпляра, например,Sum mySum = new Sum();
mySum.sum = tmpi;
Ответ №1:
вы пытаетесь получить нестатическую переменную в статическом контексте, попробуйте:
static int sum = 0;