Java está en la mano, ¡tengo el mundo! ! ! Métodos abstractos de Java y clases abstractas

definición

Método abstracto: simplemente agregue abstractpalabras clave, luego elimine las llaves y termine con un punto y coma;
clase abstracta: la clase donde se encuentra el método abstracto debe ser una clase abstracta. En el classanterior escrito en la abstractlata.

Cómo utilizar clases abstractas y métodos abstractos:
[1] No se pueden crear newobjetos de clase abstracta directamente .
[2] Se debe utilizar una subclase para heredar la clase padre abstracta.
[3] La subclase debe anular todos los métodos abstractos en la clase padre abstracta.
Anular (implementación): la subclase elimina la abstractpalabra clave del método abstracto y luego agrega las llaves del cuerpo del método.
[4] Crea objetos de subclase para su uso

Ejemplo de código

public abstract class Animal {
    
    
    //这是一个抽象方法,代表吃东西,但是具体吃什么(大括号中的内容)不确定
    public abstract void eat();

    //这是普通的成员方法
    public void normalMethod(){
    
    
    }
}

public class Cat extends Animal{
    
    
    @Override
    public void eat(){
    
    
        System.out.println("猫吃鱼");
    }
}

public class Demo01Animal {
    
    
    public static void main(String[] args) {
    
    

          //抽象类不能直接new创建
//        Animal animal=new Animal();
          //创建子类对象使用
          Cat cat=new Cat();
          cat.eat();
    }
}

Notas sobre el uso de clases abstractas:

  1. Las clases abstractas no pueden crear objetos, si se crean se reportará un error porque falla la compilación. Solo se pueden crear objetos de subclases no abstractas.
    2. En la clase abstracta, puede haber un método de construcción, que se utiliza para inicializar los miembros de la clase padre cuando la subclase crea un objeto. En otras palabras, existe un valor predeterminado en el método de construcción de la subclase super(), que requiere acceso al método de construcción del padre.
  2. Las clases abstractas no contienen necesariamente métodos abstractos, pero las clases con métodos abstractos deben ser clases abstractas.
  3. La subclase de la clase abstracta debe reescribir todos los métodos abstractos en la clase padre abstracta; de lo contrario, la compilación falla y se informa un error. A menos que la subclase también sea una clase abstracta.
    Comprensión: suponiendo que no se reescriban todos los métodos abstractos, la clase puede contener métodos abstractos. Luego, después de crear el objeto, llamar al método abstracto no tiene sentido.

Supongo que te gusta

Origin blog.csdn.net/wtt15100/article/details/108120200
Recomendado
Clasificación