Una classe astratta in Java è una classe che non può essere istanziata direttamente, ma può contenere metodi astratti e concreti che possono essere ereditati da altre classi.
Una classe astratta è una classe che non può essere istanziata direttamente. Può contenere sia metodi astratti che concreti. I metodi astratti non hanno un'implementazione e devono essere implementati nelle classi figlie.
Ecco un esempio di classe astratta in Java:
abstract class Animale {
abstract void emettereSuono();
void dormire() {
System.out.println("Zzz");
}
}
class Cane extends Animale {
void emettereSuono() {
System.out.println("Woof");
}
}
class Gatto extends Animale {
void emettereSuono() {
System.out.println("Meow");
}
}
public class Main {
public static void main(String[] args) {
Animale cane = new Cane();
cane.emettereSuono();
cane.dormire();
Animale gatto = new Gatto();
gatto.emettereSuono();
gatto.dormire();
}
}
In questo esempio, la classe Animale è astratta e contiene un metodo astratto emettereSuono(). Le classi figlie Cane e Gatto estendono la classe Animale e implementano il metodo emettereSuono() in modo specifico per ogni tipo di animale.