Поздняя привязка происходит, когда компилятор не может разрешить вызов / привязку во время компиляции.
Вернемся к вашему вопросу, независимо от выбранного вами примера переопределения toString()
, вы можете добиться позднего связывания, создав абстрактный класс, поскольку вызываемый метод toString()
будет обнаружен во время выполнения.
PS:
Я предполагаю, что вы объявите свою переменную, используя свой класс abtract:
AbtractClass child1 = new SubClass1();
AbtractClass child2 = new SubClass2();
, но если вы объявите using subclassed, выполненный toString()
будет известен во время компиляции:
SubClass1 child1 = new SubClass1();
SubClass2 child2 = new SubClass2();