В этом небольшом примере хотел показать, что хотя экземпляры абстрактных классов и нельзя создавать, но ни что не мешает создавать в них статические методы или переменные и использовать их.
Как вы помните для вызова статических методов нет необходимости в создании экземпляра класса. Что собственно и демонстрирует первая строка когда в методе main(). В тоже время, для того чтобы использовать абстрактный метод, нам пришлось создать класс наследник абстрактного класса реализующий абстрактный метод. Затем создать его экземпляр и только после этого мы смогли использовать переопределенный метод.
Совсем заезженный пример с фигурами уже надоел.
Конечно это не ахти какой пример, но он просто напомнил о статических методах и полях в купе с абстрактным классом.
Наверное, должно быть ex.someAbsPrint("Extended Print");
ОтветитьУдалитьДа, вы правы. Надо поправить пример. Спасибо за внимательность, а то в объяснении говорю как должно быть, а в примере написал другое.
Удалить