Cuatro características básicas de la clase java

Características orientadas a objetos: abstracción , encapsulación , herencia , polimorfismo .

Abstracción
  Clase abstracta: una clase que contiene métodos abstractos se denomina clase abstracta, pero no significa que solo pueda haber métodos abstractos en la clase abstracta, sino que puede tener variables miembro y métodos ordinarios como las clases ordinarias.

  1. Las clases abstractas no pueden ser instanciadas. Las subclases de clases abstractas deben proporcionar una implementación concreta de métodos abstractos en la clase abstracta, a menos que la subclase sea también una clase abstracta
  2. Las clases abstractas no contienen necesariamente métodos abstractos, pero las clases con métodos abstractos deben ser clases abstractas.
  3. El método abstracto en la clase abstracta es solo una declaración, no contiene el cuerpo del método, es decir, no proporciona la implementación específica del método, es decir, la función específica del método
  4. Constructor, los métodos de clase (métodos decorados con estática) no pueden declararse como métodos abstractos
  5. Las clases que se definen como abstractas deben ser heredadas por las subclases, pero las clases que se modifican a final no pueden heredarse y reescribirse, y las dos no pueden usarse juntas para modificación.

  Interfaz: la interfaz es una clase abstracta especial. Los métodos en la interfaz son métodos abstractos, el resumen no está escrito por defecto, por lo que los métodos abstractos en clases abstractas no pueden usar modificadores de acceso. Los miembros declarados en la interfaz por defecto son miembros finales estáticos (ya sea un tipo de datos básico o un tipo de referencia), y deben inicializarse. Características de la interfaz:

  1. Todos los métodos en la interfaz también son implícitamente abstractos, y los métodos en la interfaz se designarán implícitamente como resumen público (solo el resumen público, otros modificadores informarán errores)
  2. La interfaz puede contener variables, pero las variables en la interfaz se designarán implícitamente como variables finales estáticas públicas (y solo pueden ser públicas, modificadas con privadas informarán errores de compilación)
  3. Los métodos en la interfaz no pueden implementarse en la interfaz, y los métodos en la interfaz solo pueden implementarse por la clase que implementa la interfaz.

La diferencia entre interfaz y clase abstracta:

  1. Los métodos en clases abstractas pueden tener cuerpos de método, pero los métodos en interfaces no pueden
  2. Las variables miembro en las clases abstractas pueden ser de varios tipos, mientras que las variables miembro en las interfaces solo pueden ser de tipo final público estático (público implícito)
  3. La interfaz no puede contener bloques de código estático y métodos estáticos (métodos decorados con estática), y las clases abstractas pueden tener bloques de código estático y métodos estáticos. [Después de JDK1.8, puede haber métodos estáticos y cuerpos de métodos en la interfaz]
  4. Una clase solo puede heredar una clase abstracta, pero una clase puede implementar múltiples interfaces
  5. Las clases abstractas tienen constructores, mientras que las interfaces no tienen constructores.

Paquete : Se refiere a un método para empaquetar y ocultar los detalles de implementación de una interfaz funcional abstracta.

Herencia
Características heredadas:

  1. Las subclases tienen atributos y métodos no privados de la clase primaria
  2. Las subclases pueden tener sus propias propiedades y métodos, es decir, las subclases pueden extender la clase primaria
  3. Las subclases pueden implementar métodos de clase principal a su manera
  4. La herencia de Java es herencia única
  5. Acoplamiento mejorado entre clases

Polimorfismo: Asignar un objeto de subclase a una referencia de clase padre producirá polimorfismo. Por ejemplo: Father son = new Son () El hijo de objeto en este momento solo puede llamar a los métodos de Father (consulte los métodos que la subclase anula o hereda de la clase padre), pero no puede llamar a algunos métodos definidos por sí mismo. Porque enfatiza en el polimorfismo: cuando se escribe un programa java, una variable de tipo de referencia solo puede llamar a una variable de su tipo de tiempo de compilación, no a una variable de su tipo de tiempo de ejecución.
  Tres condiciones necesarias para el polimorfismo: 1, herencia 2, reescribir 3, puntos de referencia de la clase principal para
  el papel del polimorfismo de objeto de subclase :

  1. No es necesario escribir llamadas a funciones para cada subclase, puede ver directamente diferentes subclases como la clase principal, proteger las diferencias entre las subclases y mejorar la tasa común / tasa de reutilización
  2. La referencia de clase principal puede llamar a las funciones de diferentes subclases, mejorando la escalabilidad y la capacidad de mantenimiento del código.

  La manifestación polimórfica puede ser la reescritura o sobrecarga del método de la clase principal. [Sobrecarga se refiere a un método que puede tener el mismo modificador, valor de retorno, nombre del método, pero diferente número u orden de parámetros en una clase. La reescritura se refiere al método de reescritura de la clase principal después de que la subclase herede la clase principal. La reescritura es la subclase que reescribe el proceso de implementación del método de acceso permitido de la clase principal, y ni el valor de retorno ni los parámetros formales se pueden cambiar. ] Implementación polimórfica: 1, reescribir; 2, interfaz; 3, clase abstracta y método abstracto.

162 artículos originales publicados · elogiados 58 · 90,000 visitas

Supongo que te gusta

Origin blog.csdn.net/ThreeAspects/article/details/105569484
Recomendado
Clasificación