Абстрактный класс - пример на Java

Абстрактный класс — пример на Java

Абстрактные классы используются, чтобы создать класс с реализацией метода по умолчанию для подклассов. Абстрактный класс может иметь абстрактные методы как с реализацией, так и без реализации.

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

Вот простой пример абстрактного класса в Java.

Person.java

Обратите внимание, что work() это абстрактный метод без реализации.

А вот пример класса, который наследует абстрактный класс.

Обратите внимание, что подкласс Employee наследует свойства и методы суперкласса Person используя наследование в Java.

Также обратите внимание на использование аннотации Override в классе Employee. Она используется в случае переопределения метода.

Как правильно создать абстрактный класс. Важные моменты и советы

  • Abstract  — ключевое слово при объявлении класса.
  • Нельзя создать экземпляр абстрактного класса.
  • Используйте ключевое слово abstract, чтобы создать абстрактный метод. Такой метод не имеет реализации.
  • Если в классе есть абстрактные методы, то класс также должен быть объявлен абстрактным с помощью ключевого слова abstract, иначе программа не будет компилироваться.
  • Если в абстрактном классе нет ни одного метода с хоть какой-то реализацией, то лучше использовать интерфейс, потому что Java не поддерживает наследование нескольких классов.
  • Подкласс абстрактного класса должен реализовать все абстрактные методы, если подкласс сам не является абстрактным классом.
  • Все методы в интерфейсе неявно абстрактные, если методы интерфейса не статичны или по умолчанию. Статические методы и методы по умолчанию в интерфейсах добавлены в Java 8.
  • Абстрактные классы могут реализовывать интерфейсы, даже не обеспечивая реализацию методов интерфейса.
  • Абстрактные классы используются для обеспечения базы подклассов.
  • Мы можем работать с абстрактным классом, как и с любым другим классом, если он имеет main() метод.

Вот и все по абстрактным классам в Java. Следите за обновлениями на Javadevblog.com

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *