Может ли абстрактный метод находиться в неабстрактном классе?

176
28 июня 2018, 10:40

Поясните пожалуйста момент с UML диаграммы:

Я так понял, что абстрактные методы и классы пишутся в диаграмме курсивом. Как тогда абстрактный метод может находиться не в абстрактном классе?

Заранее благодарю.

Answer 1

Абстрактный метод не может находиться не в абстрактном классе.

Это же самое описано и в Java Tutorial:

Абстрактный класс - это класс, объявленный abstract - он может включать или не включать абстрактные методы. Объекты не могут быть созданы из абстрактных классов, но они могут быть объектами, созданными из подклассов.

Абстрактный метод - это метод, объявленный без реализации (без фигурных скобок и с запятой), например:

abstract void moveTo(double deltaX, double deltaY);

Если класс включает абстрактные методы, то сам класс должен быть объявлен abstract, как в:

public abstract class GraphicObject {
    // объявлять поля
    // объявлять неабстрактные методы
    abstract void draw ();
}

Когда абстрактный класс является подклассом, подкласс обычно предоставляет реализации для всех абстрактных методов в его родительском классе. Однако, если это не так, то подкласс также должен быть объявлен abstract.

READ ALSO
Запрос из Java-кода на сервер с помощью REST

Запрос из Java-кода на сервер с помощью REST

Необходимо передавать из java-программы строку на сервер, там её вставить в определённое поле, инициировать submit и строку из другого поля возвращать...

197
java, DbUnit, FlatXmlDataSetBuilder

java, DbUnit, FlatXmlDataSetBuilder

времени суток! Ситуация, я пишу тест с обращением к базе данных (postegreSQL), использую DbUnit для эмуляции базы данных, данные для базы данных содержаться...

207
DoPost не выполняет методы классов

DoPost не выполняет методы классов

Есть DoPost метод сервлета

202