@FR34

Почему при вызове из одного класса переменная отображается верно, а при вызове из другого отображается как ноль?

Вопрос касаемый всё того же IQ теста(можно узреть в других моих вопросах), сейчас натолкнулся на такую проблему, что вызывая переменную int testAnswer которая находится в классе Question из класса UserInterface получаем нормальное значение переменной, но, если вызываем эту же переменную из класса ResultOfTest то получаем ноль, что не так, подскажите пожалуйста
Текст функции из класса UserInterface
public void actionPerformed(ActionEvent e) { 
                Question quest = new Question();
                radioButtonChoose();
                res.reca();
                System.out.println("usinabc"+res.abc);
                System.out.println("usintes"+quest.tes);
                res.testAnswer(radButt);
                res.result();
                System.out.println(res.resultOfIQ);
                quest.nextQuestion();
                setMyInterface();                
            }

Текст функции из класса ResultOfTest
public void reca(){
        Question quest = new Question();
        System.out.println("ReOftes = "+quest.tes);
        abc = quest.tes;
        System.out.println("ReOfabc = "+abc);
    }
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
Ewintory
@Ewintory
Java / Android developer
Привет. Что значит
вызываем эту же переменную из класса ResultOfTest?

Когда вы обьявляете и создаете две переменные одного класса, скажем, в разных частях своего приложения, они конечно же не будут одинаковыми.
А функция reca() выдает не тот результат потому что в ней вы создаете новый обьект класса Question, он не имеет отношения ни к каким либо другим вашим переменным. А ноль потому что поле класса типа int (в вашем случае testAnswer) по умолчанию инициализируется нулем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы