Java не присваивает данные члену в конструкторе подкласса - PullRequest
0 голосов
/ 12 марта 2020

Итак, у меня есть суперкласс с двумя параметрами в конструкторе. Конструктор суперкласса определяет одного члена, используя одну переменную, но вторая переменная используется для проверки, являются ли они нулевыми. Поэтому в конструкторе подкласса я вызываю super, а затем определяю член другой переменной. При отладке он пропускает сразу по объявлению, используя вторую переменную после вызова super. Я дам некоторый неспецифический c код.

public abstract class Foo{
    private enum type; #the enum is defined its not just enum written

    public Foo(enum type, String str){
        Objects.requireNonNull(type, "Given type must not be null.");
        Objects.requireNonNull(str, "Given string input must not be null.");
        this.type = type;
     }
 ...
 methods
 ...
 }

Теперь для подкласса

public class Bar extends Foo{
    private String str;
    ...members...
    public Bar(enum type, String str){
        super(type, str);
        this.str = str;
    }
}

Итак, при отладке, строка this.str = str; полностью пропущен Почему это происходит?

...