Чего не хватает, так это код вызова.Ваш оператор печати в Developer.add () при печати null указывает, что вы не установили родительский элементПроверьте код вызова, чтобы убедиться, что вы действительно установили родителя.
Несколько других вопросов, которые следует учитывать.Логика в методе Developer.add (), кажется, немного не в порядке.Вы создаете исключение, если родитель добавляемого вами сотрудника - разработчик.Это указывало бы на логику того, что вы пытаетесь передать сотрудника этому разработчику.Это твое намерение?
Я предполагаю, что ты хотел сказать, что у разработчика не может быть сотрудников, потому что его начальник - разработчик, тогда если утверждение должно быть:
if (this.parent !== null && this.parent instanceof Developer) throw...
Например, если вызывающий код имеет вид:
dev.setParent(new Developer());
dev.add(new Employee()); <-- throw exception "You can't have staff 'cause your boss is a dev, and not a manager."