Middle
Czy można utworzyć obiekt abstrakcyjnej klasy w Java?
sobes.tech AI
Odpowiedź od AI
W Javie nie można bezpośrednio tworzyć obiektu abstrakcyjnej klasy, ponieważ klasa abstrakcyjna służy jako podstawa dla innych klas i może zawierać metody abstrakcyjne bez implementacji. Jednak można utworzyć obiekt anonimowej klasy dziedziczącej po klasie abstrakcyjnej, implementując wszystkie metody abstrakcyjne na miejscu.
Przykład:
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(); // Wypisze "Meow"
}
}
W ten sposób obiekt nie jest tworzony bezpośrednio z klasy abstrakcyjnej, lecz z anonimowej klasy, która ją dziedziczy i implementuje wszystkie metody abstrakcyjne.