Я недавно начал программирование на Java и столкнулся с проблемой, что я не слишком уверен в том, как искать ответ. Итак, короткая версия: У меня есть класс под названием test (ради вопроса) с общедоступными переменными и общедоступными методами, которые имеют свои собственные переменные. В моем основном классе я могу создать объект для вызова переменных класса теста, но могу ли я вызвать переменные, которые были использованы в методах этого класса?Можно ли вызвать другие методы метода класса из основного класса?
ответ
Нет, вам нужно будет сохранить эту переменную в качестве переменной-члена класса. Например:
public class Test {
public int b;
Test() {
int a = 1;
b = 2;
}
}
Так что в вашем другом классе, вы можете получить значение b
так:
Test test = new Test();
int valueOfBInTest = test.b;
Но нет никакого способа, чтобы получить a
переменную, которая была использована в конструкторе Test
, потому что эта переменная была забыта в конце конструктора Test
. Это из-за того, что называется областью. Переменная b
имеет область экземпляра класса, поэтому, если этот экземпляр класса Test
находится вокруг, вы можете получить b
. Но так как переменная a
объявлена в конструкторе Test
, она доступна только в конструкторе Test
. Чтобы быть ясным, то же самое произойдет в любом методе Test
. Если вы объявите переменную внутри метода, эта переменная будет потеряна, когда этот метод будет завершен.
Можете ли вы показать соответствующий код, чтобы показать, что вы описываете? Если я правильно понимаю, тогда вы указали локальные переменные в своем методе, которые могут быть доступны или использованы только в этом методе. Если вы хотите получить доступ к значениям позже, вы должны сохранить значения в переменных экземпляра. – clcto
Нам нужно увидеть код! Мы не волшебники;) –