En Java, una clase abstracta es una clase que no puede ser instanciada directamente y que a menudo se utiliza como un molde para otras clases. Esto significa que una clase abstracta puede contener métodos abstractos, es decir, métodos que se declaran sin una implementación específica, así como métodos concretos (implementados).
Para declarar una clase como abstracta en Java, se utiliza la palabra clave abstract antes de la palabra clave class.
package U2;
public class E00_00 {
public static void main(String[] args) {
//Animal a = new Animal();
Perro p=new Perro();
p.sonido();
p.nombre="Pepe";
p.mostrarNombre();
Gato g=new Gato();
g.sonido();
g.nombre="Oscar";
g.mostrarNombre();
}
}
abstract class Animal{
String nombre;
void mostrarNombre() {
System.out.println(this.nombre);
}
abstract void sonido();
}
class Perro extends Animal{
void sonido() {
System.out.println("guau");
}
}
class Gato extends Animal{
void sonido() {
System.out.println("miau");
}
}