Синтаксис:
abstract class classNameимена_переменных;
абстрактный метод1 ();
public method2 ()
выписки 1… N
Абстрактный класс может содержать атрибут или переменные, абстрактный метод и нормальный метод или любой из них. Но подкласс абстрактного класса может реализовывать только абстрактный метод абстрактного класса.
Пример-1: абстрактный класс с общедоступным методом
В следующем примере показано, как можно объявить абстрактный класс с помощью общедоступного метода и способ использования абстрактного класса путем создания подкласса. Здесь абстрактный класс содержит общедоступный метод с именем подробности() который реализован внутри абстрактного класса. Объект подкласса создается для доступа к общедоступному методу абстрактного класса.
// Определить абстрактный класс с помощью общедоступного методаабстрактная классная книга
public void details ()
Система.вне.println («Название книги: выучите PHP за 15 минут»);
Система.вне.println ("Имя автора: Джейк Райт");
Система.вне.println ("Цена со скидкой: 35 долларов");
// Определить подкласс
class php extends book
// Основной класс
class abstract1
public static void main (String [] args)
php bk = новый php ();
bk.подробности();
Выход:
Следующий вывод появится после запуска кода. Здесь подробности() вызывается метод абстрактного класса, и текст печатается из метода.
Пример-2: абстрактный класс с абстрактным методом и общедоступным методом
В следующем примере показано, как можно объявить абстрактный класс с переменными, абстрактным методом и общедоступным методом. Операторы общедоступного метода определены внутри абстрактного класса, но тело абстрактного метода пусто, что реализовано внутри подкласса абстрактного класса. Здесь два подкласса объявляются путем расширения абстрактного класса. Подкласс с именем квадратный вычислит и напечатает площадь квадрата на основе значения п Переменная. Подкласс с именем прямоугольник вычислит и напечатает площадь прямоугольника на основе значения час а также ш переменные. Публичный метод, readData () вызывается параметром с именем тип чтобы определить, какие переменные абстрактного класса будут инициализированы. Ценность тип переменная будет 1 для инициализации значения п и 2 для инициализации значения час а также ш.
// Определяем абстрактный класс с абстрактным методом и общедоступным методомabstract class area
общедоступные int n, h, w;
абстрактный результат void ();
public void readData (тип int)
if (type == 1)
n = 10;
еще
h = 20;
w = 30;
// Определить квадратный подкласс
квадрат класса расширяет площадь
public void result ()
// Рассчитываем площадь квадрата
int areaVal = n * n;
Система.вне.println ("Площадь квадрата равна" + areaVal);
// Определение подкласса прямоугольника
прямоугольник класса расширяет область
public void result ()
// Рассчитываем площадь прямоугольника
int areaVal = h * w;
Система.вне.println ("Площадь прямоугольника равна" + areaVal);
// Основной класс
class abstract2
public static void main (String [] args)
// Создаем объект квадратного класса
квадрат sq = новый квадрат ();
кв.readData (1);
кв.результат();
// Создаем объект класса прямоугольника
прямоугольник rq = новый прямоугольник ();
rq.readData (2);
rq.результат();
Выход:
Следующий вывод появится после запуска кода. На выходе отображается площадь квадрата, в которой значение п является 10 и площадь прямоугольника, в которой значение час является 20, и ценность ш является 30.
Пример-3: Абстрактный класс с конструктором
В следующем примере показано, как можно объявить конструктор и использовать его в абстрактном классе. Конструктор абстрактного класса инициализирует значения а а также б. Абстрактный метод, maxval () реализован в подклассе с именем findMax. супер() метод используется в конструкторе подкласса для вызова конструктора абстрактного класса. Абстрактный метод maxval () узнает максимальное значение из двух чисел, которые будут присвоены параметрам конструктора подкласса в момент создания объекта.
// Определяем абстрактный класс с конструкторомабстрактные номера классов
// объявляем переменные
защищенный финал int a, b;
// конструктор абстрактного класса
публичные числа (int x, int y)
это.а = х;
это.b = y;
// Открытый метод
публичная аннотация void maxval ();
// Определить подкласс
class findMax расширяет числа
// Конструктор подкласса
public findMax (int x, int y)
// Вызов конструктора абстрактного класса
супер (х, у);
// Реализуем абстрактный метод
public void maxval ()
if (a> b)
Система.вне.println (a + "больше" + b);
еще
Система.вне.println (b + "больше" + a);
// Основной класс
class abstract3
public static void main (String [] args)
// Создаем объект подкласса
findMax fmax = новый findMax (34,89);
// Находим максимум
fmax.maxval ();
Выход:
Следующий вывод появится после запуска скрипта. Здесь, 34 а также 89 задаются как значения параметров конструктора. Эти значения сравниваются в абстрактном методе, который реализован в подклассе, и печатается следующее сообщение.
Заключение:
Абстрактный класс используется, чтобы сделать программу более организованной и понятной. Несколько связанных классов можно сгруппировать с помощью абстрактных классов. Концепция и реализация абстрактного класса с различными частями объясняются в этом руководстве на простых примерах. Я надеюсь, что читатели смогут понять использование абстрактного класса и правильно применить его в своем коде после прочтения этого руководства.