logo

Java abstract Keyword

Ключове слово abstract використовується для досягнення абстракції в Java. Це модифікатор без доступу, який використовується для створення абстрактного класу та методу.

Роль абстрактного класу полягає в тому, щоб містити абстрактні методи. Однак він також може містити неабстрактні методи. Метод, який оголошено за допомогою ключового слова abstract і не має жодної реалізації, відомий як абстрактний метод.

просте число в java

Синтаксис: -

 abstract class Employee { abstract void work(); } 

Примітка. Ми не можемо оголосити абстрактні методи в неабстрактному класі.

Правила абстрактного ключового слова

Не варто

  • Ключове слово abstract не можна використовувати зі змінними та конструкторами.
  • Якщо клас є абстрактним, його не можна створити.
  • Якщо метод є абстрактним, він не містить тіла.
  • Ми не можемо використовувати ключове слово abstract із the остаточний .
  • Ми не можемо оголосити абстрактні методи як приватний .
  • Ми не можемо оголосити абстрактні методи як статичний .
  • Абстрактний метод не можна синхронізувати.

робити

  • Ключове слово abstract можна використовувати лише з класом і методом.
  • Абстрактний клас може містити конструктори та статичні методи.
  • Якщо клас розширює абстрактний клас, він також повинен реалізувати принаймні один із абстрактних методів.
  • Абстрактний клас може містити основний метод і кінцевий метод.
  • Абстрактний клас може містити перевантажені абстрактні методи.
  • Ми можемо оголосити локальний внутрішній клас як абстрактний.
  • Ми можемо оголосити абстрактний метод за допомогою пропозиції throw.

Приклади анотації Ключове слово

Приклад 1: абстрактний клас, що містить абстрактний метод

 abstract class Vehicle { abstract void bike(); } class Honda extends Vehicle { @Override void bike() { System.out.println('Bike is running'); } } public class AbstractExample1 { public static void main(String[] args) { Honda obj=new Honda(); obj.bike(); } } 
Перевірте зараз

Вихід:

 Bike is running 

Приклад 2: абстрактний клас, що містить абстрактний і неабстрактний метод

 abstract class Vehicle { abstract void bike(); void car() { System.out.println('Car is running'); } } class Honda extends Vehicle { @Override void bike() { System.out.println('Bike is running'); } } public class AbstractExample2 { public static void main(String[] args) { Honda obj=new Honda(); obj.bike(); obj.car(); } } 
Перевірте зараз

Вихід:

 Bike is running Car is running 

Приклад 3: абстрактний клас, що містить конструктор

 abstract class Vehicle { String msg; Vehicle(String msg) { this.msg=msg; } void display() { System.out.println(msg); } } class Honda extends Vehicle { Honda(String msg) { super(msg); } } public class AbstractExample3 { public static void main(String[] args) { Honda obj=new Honda('Constructor is invoked'); obj.display(); } } 
Перевірте зараз

Вихід:

 Constructor is invoked 

Приклад 4: абстрактний клас, що містить перевантажені абстрактні методи

 abstract class Vehicle { abstract void display(); abstract void display(String msg); } class Honda extends Vehicle { @Override void display() { System.out.println('abstract method is invoked'); } @Override void display(String msg) { System.out.println(msg); } } public class AbstractExample4 { public static void main(String[] args) { Honda obj=new Honda(); obj.display(); obj.display('overloaded abstract method is invoked'); } } 
Перевірте зараз

Вихід:

 abstract method is invoked overloaded abstract method is invoked 

Приклад 5: внутрішній абстрактний клас

 class Vehicle { abstract class Car { abstract void display(); } class Honda extends Car { @Override void display() { System.out.println('inner abstract class is invoked'); } } } public class AbstractExample5 { public static void main(String[] args) { Vehicle obj=new Vehicle(); Vehicle.Car c=obj.new Honda(); c.display(); } } 
Перевірте зараз

Вихід:

кислотні властивості
 inner abstract class is invoked 

Приклад 6: Вкладений абстрактний клас

 abstract class Vehicle { abstract class Car { abstract void display(); } } class Honda extends Vehicle { class FourWheller extends Car { @Override void display() { System.out.println('nested abstract class is invoked'); } } } public class AbstractExample6 { public static void main(String[] args) { Vehicle obj=new Honda(); Honda h=(Honda)obj; Honda.FourWheller fw=h.new FourWheller(); fw.display(); } } 
Перевірте зараз

Вихід:

 nested abstract class is invoked