В этой статье мы поговорим для чего нужны абстрактные классы и как их использовать. Абстрактный класс для абстрактной идеи или концепции. Например, тип данных int представляет собой конкретный тип данных и double еще один конкретный тип данных. Они оба представляют числа. Здесь число является абстрактным понятием. Рассмотрим еще один пример. Представьте мы имеет круг, прямоугольник, треугольник. Они все являются конкретными геометрическими фигурами, а вот форма является абстрактным понятием.
В Java мы используем абстрактный класс, чтобы определить абстрактное понятие. Абстрактная концепция должна иметь некоторые абстрактные аспекты.
Синтаксис
Вы можете потребовать, чтобы определенные методы быть перекрыты подклассами, указав абстрактный модификатор типа. Чтобы объявить абстрактный метод, используйте следующую общую форму:
1 |
abstract тип имя(args); |
Ни один абстрактный метод не имеет тела. Любой класс, который содержит один или более абстрактных метода, так же должны быть объявлены абстрактными.
1 2 3 |
abstract class Test{ abstract тип имя(args); } |
Приведу пример абстрактного класс, а затем подкласс, который реализует все абстрактные методы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//nookery.ru abstract class MyClass { abstract void absMethod(); //абстрактный метод //у него нет тела void oneMethod() { System.out.println("Конкретный метод."); } } class Realised extends MyClass { void absMethod() { System.out.println("Переопределенный абстрактный метод."); } } public class Test { public static void main(String args[]) { Realised r = new Realised(); r.absMethod(); r.oneMethod(); } } |
Результатом работы программы будет:
Переопределенный абстрактный метод.
Конкретный метод.