2015-10-12 3 views
-1

Я недавно начал программирование на Java и столкнулся с проблемой, что я не слишком уверен в том, как искать ответ. Итак, короткая версия: У меня есть класс под названием test (ради вопроса) с общедоступными переменными и общедоступными методами, которые имеют свои собственные переменные. В моем основном классе я могу создать объект для вызова переменных класса теста, но могу ли я вызвать переменные, которые были использованы в методах этого класса?Можно ли вызвать другие методы метода класса из основного класса?

+1

Можете ли вы показать соответствующий код, чтобы показать, что вы описываете? Если я правильно понимаю, тогда вы указали локальные переменные в своем методе, которые могут быть доступны или использованы только в этом методе. Если вы хотите получить доступ к значениям позже, вы должны сохранить значения в переменных экземпляра. – clcto

+0

Нам нужно увидеть код! Мы не волшебники;) –

ответ

0

Нет, вам нужно будет сохранить эту переменную в качестве переменной-члена класса. Например:

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. Если вы объявите переменную внутри метода, эта переменная будет потеряна, когда этот метод будет завершен.

Смежные вопросы