Las similitudes y diferencias entre las interfaces y las clases abstractas.

Comúnidad

  1. Ninguno puede ser instanciado

  2. Las subclases de la clase de implementación o clase abstracta en la interfaz solo se pueden instanciar después de implementar el método en la interfaz o clase abstracta

La diferencia:

  1. La interfaz solo tiene la definición del método: después de JDK1.8, se puede definir el cuerpo del método predeterminado y se puede definir o implementar la clase abstracta.

  2. Las palabras clave de implementación y herencia son diferentes. Java solo admite herencia simple pero admite implementaciones múltiples

  3. La interfaz enfatiza la realización de funciones específicas, lo cual es conveniente para la adición y eliminación de la secuencia posterior. La clase abstracta enfatiza la relación de pertenencia y tiende a la clase pública, que no es adecuada para modificación

  4. Las variables miembro de la interfaz tienen el valor predeterminado de público estático final y deben asignarse valores iniciales. Todos los métodos miembros son públicos y abstractos. Las variables miembro en las clases abstractas tienen el valor predeterminado predeterminado, que puede redefinirse o asignarse en subclases. Modificado por privado, estático, sincronizado, nativo.

 

Supongo que te gusta

Origin www.cnblogs.com/dretrtg/p/12739997.html
Recomendado
Clasificación