Использование переменных из другого класса Java

Есть код

public class A {

    int x;
    String phrase;

    public A(String phrase) {

        this.phrase = phrase;

    }


    public int get_x() {

        return this.x;

    }

    public static void main(String[] args) {

        A main_class = new A("Hello");

        System.out.println(main_class.phrase);
 

        main_class.init_vars();

    }


    int init_vars() {

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter X");
        x = sc.nextInt();

        return x;

    }


       
}


class B extends A {

    int y = 23;

    public B(String phrase) {
        super(phrase);
    }


    void sum() {

        System.out.println(x+y);

    }


}

Цель такая: Вызов функции init_var(), ввести данные в переменную с клавиатуры, затем сложить это число с переменной y другого класса B, однако числа не складываются, также пробовал

   void sum() {

        System.out.println(init_vars()+y);

    }

Но тут происходит ввод числа дважды, что логично. Да и подход не особо красивый. .


Ответы (1 шт):

Автор решения: tym32167

я так понял, вам нужно создавать класс B, вместо A,

B main_class = new B("Hello");

И после вызывать

main_class.sum()
→ Ссылка