Sobes.tech
Middle

Може ли се у Јави креирати објекат апстрактне класе?

sobes.tech АИ

Одговор од АИ

У Јави, није могуће директно креирати објекат апстрактне класе, јер је апстрактна класа намењена да служи као основа за друге класе и може садржати апстрактне методе без имплементације. Међутим, могуће је креирати објекат анонимне подкласе апстрактне класе, реализујући све апстрактне методе на лицу места.

Пример:

abstract class Animal {
    abstract void sound();
}

public class Main {
    public static void main(String[] args) {
        Animal a = new Animal() {
            void sound() {
                System.out.println("Meow");
            }
        };
        a.sound(); // Исписа "Meow"
    }
}

Овим се објекат не креира директно од апстрактне класе, већ од анонимне класе која је наследила и реализовала све апстрактне методе.