Наследование переменных в Java - PullRequest
0 голосов
/ 06 апреля 2020

Итак, я понимаю, что родительский класс передаст все свои переменные (и методы) дочернему классу. У меня вопрос, я получаю ошибку компиляции? Не должна ли переменная с именем number, которую я установил как 5 в классе b, наследоваться в класс a? Мой код ниже.

public class a 
{
    public static void a()
    {
        System.out.println(5*number);

    }
}

public class b extends a 
{
    public static void b()
    {
        int number = 5;
    }
}

1 Ответ

0 голосов
/ 06 апреля 2020

В программе есть некоторые проблемы. Я прокомментировал и исправил. Надеюсь, суть того, чего вы хотите достичь, остается.

public class A {

    int number = 1; // declare the number variable

    // remove the static - cannot have an instance variable in a static block and a constructor does not return anything
    public  A() 
    {
        System.out.println(5*number);

    }

    public static void main(String[] args) {
        A instance = new A();
        B child = new B();

    }
}

class B extends A
{
    public B()
    {
        number = 5 * number; // if you want to inherit then you need to not declare a local variable here.
        System.out.print("In B : " + number);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...