1) А) Почему обязательно вызывать конструктор класса-родителя в данном случае (строка 37)? Б) Могут ли вообще конструкторы класса-родителя и класса-наследника отличаться? В) Super инициализирует переданным значением 1) только переменную name класса Thread, 2) только переменную name класса PrintListThread или 3) переменную name класса Thread и переменную name класса PrintListThread? 2) где берется и у чего вызывается метод getName() в строке 41? По логике у класса Thread есть переменная name, которую наследует PrintListThread, и метод getName, который ее возвращает, причём getName вызывается неявно у текущего объекта (this). Попробовал вместо вызова super(name) написать this.name = name; написало, что переменная name приватная. Соответственно, в классе PrintListThread у меня нет к ней доступа, этот момент с наследованием приватных штук ещё не совсем догоняю. А если инициализируется переменная name сласса Thread, а затем она вызывается в getName у PrintListThread , то мне совсем ничего не понятно)