Сегодня пересматриваем ключевое слово abstract. Интерфейс неявно использует абстрактное ключевое слово. Давайте подробно рассмотрим ключевое слово abstract в каждом сценарии. Давайте подробно рассмотрим ключевое слово abstract в каждом сценарии. 2.Class 3.Способ
2.Class 3.Способ
Переменная не может быть помечена как абстрактная.
Переменная не может быть помечена как абстрактная.
I) Если класс помечен как абстрактный, он не может быть создан то есть вы не можете создать объект этого класса. II) Если другой класс расширяет абстрактный класс, он должен принудительно переопределять все методы в этом классе.
abstract class A{
abstract public void m1();
}
//SOLUTION 1:class B has to override all the methods of class A
class B extends A{
}
//SOLUTION 2:class B can mark itself as abstract as shown below
class B extends A{
}
II) Если другой класс расширяет абстрактный класс, он должен принудительно переопределять все методы в этом классе.
I) Если программист не знает реализации метода, он может пометить себя как абстрактный. II) Абстрактный метод должен быть абстрактным классом.: Абстрактный метод не должен иметь тела.
abstract public void display();
Ниже приведена лишь небольшая программа для демонстрации использования абстрактных
abstract class A{
abstract void m1(); //m1() is abstract so class A shd be abstract
}
abstract class B extends A{
void m1(){
System.out.println("A"); //B overrides m1()
}
abstract void m2();
}
abstract C extends B{
//class C doesn't know the implementation of m2 and hence it marks itself as abstract.
void m3(){
System.out.println("C");
}}
class D extends C{
} //This alone will give COMPILE ERROR BECOZ D MUST OVERRIDE m2()
Это все для абстрактного ключевого слова. Если какая-либо ошибка или какая-либо информация, которую я пропустил, пожалуйста, не стесняйтесь поправлять меня в комментариях.
Счастливого Обучения:)
Оригинал: “https://dev.to/shwetarkadam/abstract-keyword-in-java-1dip”