Sobes.tech
Middle

Vai Java val izveidot abstraktās klases objektu?

sobes.tech AI

Atbilde no AI

Java valodā nav iespējams tieši izveidot abstraktās klases objektu, jo abstraktā klase ir paredzēta kā pamats citām klasēm un var saturēt abstraktus metodes bez realizācijas. Tomēr ir iespējams izveidot anonīmas apakšklases objektu, kas manto abstrakto klasi un īsteno visas abstraktās metodes vietā.

Piemērs:

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(); // Izvadīs "Meow"
    }
}

Tādējādi objekts netiek tieši izveidots no abstraktās klases, bet no anonīmas klases, kas to manto un īsteno visas abstraktās metodes.