Middle
Je možné v Jave vytvoriť objekt abstraktnej triedy?
sobes.tech AI
Odpoveď od AI
V Jave nie je možné priamo vytvoriť objekt abstraktnej triedy, pretože abstraktná trieda je určená na to, aby slúžila ako základ pre iné triedy a môže obsahovať abstraktné metódy bez implementácie. Avšak je možné vytvoriť objekt anonymnej podtriedy abstraktnej triedy, implementovaním všetkých abstraktných metód na mieste.
Príklad:
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(); // Vytlačí "Meow"
}
}
Týmto spôsobom nie je objekt priamo vytvorený z abstraktnej triedy, ale z anonymnej triedy, ktorá ju dedí a implementuje všetky abstraktné metódy.