Java Аннотация класс и методы с примером

Что такое абстрактный класс?

Абстрактные классы – это классы в Java, которые объявляют один или несколько абстрактных методов.

Рассмотрим следующую иерархию классов, состоящую из класса Shape, который унаследован тремя классами Rectangle, Circle и Triangle. Класс Shape создан для сохранения общих атрибутов и методов, разделяемых тремя классами Rectangle, Circle и Triangle. calculateArea () – один из таких методов, разделяемый всеми тремя дочерними классами и присутствующий в классе Shape.

В этом уроке вы узнаете,

Теперь предположим, что вы пишете код для создания объектов для классов, описанных выше. Давайте посмотрим, как эти объекты будут выглядеть в практическом мире.

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


Объект треугольника класса даст треугольник, снова обычную повседневную форму.

Но какой объект класса будет выглядеть в практическом мире?

Если вы заметили, что класс Shape служит нашей цели достижения наследования и полиморфизма. Но он не был создан для создания экземпляров. Такие классы могут быть помечены как Abstract . Абстрактный класс не может быть создан.

Синтаксис:

Возможно, вы НЕ маркируете класс Shape как абстрактный, а затем создаете его. Но такой объект не будет использоваться в вашем коде и откроет комнату для возможных ошибок. Следовательно, это нежелательно.

Что такое абстрактные методы?

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

Как мы все знаем, формула для вычисления площади для прямоугольника, круга и треугольника отличается. Метод calculateArea () должен быть переопределен наследующими классами. Это не имеет никакого смысла определять его в классе Shape, но мы должны убедиться, что у всех наследующих классов есть метод.

Такие методы могут быть помечены как абстрактные.

Синтаксис:

Для абстрактного метода реализация не требуется. Определена только подпись метода.

Абстрактный класс в Java: важные точки

  • Абстрактный класс также может иметь конкретные (полные) методы.
  • Для целей дизайна класс может быть объявлен абстрактным, даже если он не содержит абстрактных методов
  • Ссылка абстрактного класса может указывать на объекты его подклассов, тем самым достигая полиморфизма во время выполнения. Ex: Shape obj = new Rectangle ();
  • Класс должен быть обязательно помечен как абстрактный, если он имеет один или несколько абстрактных методов.

Конечное ключевое слово в Java

Последний модификатор применяется к классам, методам и переменным. Значение окончательного варьируется от контекста к контексту, но основная идея одна и та же.

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

Пример : – Изучение абстрактных и конечных ключевых слов.

Шаг 1) Скопируйте следующий код в редактор.

Шаг 2) Сохраните, скомпилируйте и запустите код.

Шаг 3) Ошибка =? Абстрактный метод не реализован в классе Rectangle. Чтобы устранить проблему, выполните команду uncommnet line # 15.

Шаг 4) Разорвать линию № 13. Сохраните и скомпилируйте код.

Шаг 5) Ошибка =? переменная b является окончательной

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

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

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