Aprendizaje de Java, clase abstracta y método abstracto.

Aprendizaje de Java, clase abstracta y método abstracto.

Visión general

La abstracción es el proceso de extraer características comunes y esenciales de muchas cosas y descartar sus características no esenciales. Para ser más específicos, la abstracción se basa en la práctica de las personas, mediante el proceso de remover asperezas y esencias, remover falsedades y mantener la verdad, formando conceptos, juicios, razonamientos y otras formas de pensamiento para reflejar las cosas. Métodos esenciales y regulares.

Clases abstractas y métodos abstractos en programas Java:

  • Los métodos abstractos solo necesitan ser declarados pero no implementados Los métodos abstractos solo declaran el tipo de datos devueltos, el nombre del método y los parámetros requeridos, sin el cuerpo del método;
  • Las clases abstractas no se pueden instanciar y solo pueden ser heredadas por subclases. La subclase heredada debe implementar los métodos abstractos definidos en la clase abstracta.

El propósito de la abstracción es extraer las mismas cosas pero inciertas para reutilizarlas en el futuro. El propósito de definir una clase abstracta es implementar métodos abstractos en subclases.

Una clase con métodos abstractos es una clase abstracta (pero la clase abstracta no necesita contener métodos abstractos), y la clase abstracta debe declararse utilizando la palabra clave abstracta.

Ejemplo

// 定义一个抽象类
abstract class Demo0 {
    
    
    //普通方法
    public void fun(){
    
    
        System.out.println("普通方法");
    }

    //抽象方法
    public abstract void eat();
}

// 子类继承抽象类
class Demo1 extends Demo0 {
    
    
    // 重写抽象方法
    @Override
    public void eat() {
    
    
        System.out.println("eat() 方法已经实现");
    }
}

para resumir

Clase abstracta:

  • No se pueden crear instancias de clases abstractas. Debido a que el método en la clase abstracta no está materializado, esta es una clase incompleta, por lo que no tiene sentido instanciarla directamente;
  • El uso de clases abstractas debe tener subclases, el uso extiende la herencia, una subclase solo puede heredar una clase abstracta;
  • La subclase (si no es una clase abstracta) debe anular todos los métodos abstractos en la clase abstracta (si la subclase no implementa los métodos abstractos de la clase principal, la subclase también debe definirse como una clase abstracta) ;
  • Una clase abstracta puede no contener métodos abstractos, pero si la clase contiene métodos abstractos, la clase debe declararse como una clase abstracta;
  • Las clases abstractas no pueden usar declaraciones finales, porque las clases abstractas deben tener subclases y las clases definidas por final no pueden tener subclases;
  • Dado que habrá algunos atributos en la clase abstracta, debe haber un método de construcción en la clase abstracta, cuyo propósito sea inicializar los atributos. Y cuando se crea una instancia del objeto de subclase, todavía satisface el orden de realizar la construcción de la superclase primero, y luego la construcción de la subclase;
  • Las clases abstractas externas no pueden usar declaraciones estáticas, mientras que las clases abstractas internas pueden usar declaraciones estáticas.

Método abstracto:

  • El método abstracto se refiere a un método sin un cuerpo de método, y el método abstracto también debe modificarse con la palabra clave abstract;
  • ** El método abstracto debe ser público o protegido ** (porque si es privado, no puede ser heredado por la subclase y la subclase no puede implementar el método). El valor predeterminado es público por defecto.

Supongo que te gusta

Origin blog.csdn.net/qq_43580193/article/details/112631685
Recomendado
Clasificación