Middle
Ar Javaje galima sukurti abstraktaus klases objektą?
sobes.tech AI
Atsakymas iš AI
Java kalboje nėra galimybės tiesiogiai sukurti abstraktaus klases objekto, nes abstraktusis klasė yra skirta būti pagrindu kitiems klasėms ir gali turėti be įgyvendinimo abstrakčius metodus. Tačiau galima sukurti anonimios klasės, kuri paveldi abstraktųjį klasę ir įgyvendina visus abstrakčius metodus vietoje, objektą.
Pavyzdys:
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(); // Išves "Meow"
}
}
Taip, objektas nėra sukurtas tiesiogiai iš abstraktaus klases, o iš anonimios klasės, kuri ją paveldi ir įgyvendina visus abstrakčius metodus.