Sobes.tech
Middle

Може ли да се създаде обект от абстрактен клас в Java?

sobes.tech AI

Отговор от AI

В Java не може директно да се създаде обект на абстрактен клас, тъй като абстрактният клас е предназначен да служи като база за други класове и може да съдържа абстрактни методи без реализация. Въпреки това, може да се създаде обект на анонимен подклас на абстрактния клас, като се реализират всички абстрактни методи на място.

Пример:

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"
    }
}

По този начин, обектът не се създава директно от абстрактния клас, а от анонимен клас, който го наследява и реализира всички абстрактни методи.