1. clases abstractas e interfaces
No. | Punto de comparación | clase abstracta | interfaz | observación |
---|---|---|---|---|
1 | palabra clave | clase | interfaz | |
2 | concepto | No puede ser de clase instanciada puede contener métodos abstractos. | La definición de normas, reglas, acuerdos | |
3 | estructura | Métodos de construcción, métodos comunes, métodos estáticos, métodos abstractos, variables miembro, propiedades estáticas, constantes | constantes estáticas, métodos abstractos | |
4 | Y las relaciones de las subclases | hereda de subclases | Las disposiciones de aplicación de la clase de implementación de interfaz | |
5 | relaciones | se extiende | implementar | |
6 | uso | clase abstracta como una clase padre, un método abstracto, | Necesario para lograr los implementa la clase acordados | |
7 | característica | Las subclases heredan un solo superior | clase de implementación puede implementar múltiples interfaces |
1. método estático;
2. El método por defecto: Versión jdk1.8 de las nuevas características aparecen. Objetivo: no es obligatorio para alcanzar una determinada función.
2. La relación entre clase y clase
1, la herencia
Inheritance se refiere a una clase hereda de otra clase. Como una subclase, la otra es la clase padre. Subclase puede utilizar el contenido de la clase padre, sino que también pueden ampliar su contenido. (Clases, interfaces)
público de clase Animal {}
pública clase gato se extiende Animal {}
2, para lograr relaciones
Se refiere a una clase de implementar todos los métodos abstractos interfaz implementada. Una clase puede implementar múltiples interfaces simultáneamente.
pública interfaz A {}
pública de clase AImple implementos A {}
3, dependencias
Una clase depende de otra clase. El grado de acoplamiento entre las dos clases no lo es. reflejan los niveles de código: una clase como un argumento de un método en otra clase.
público de clase Pet {}
pública clase de chicas { público nula juego ( mascotas mascota) { } }
4, la relación
Las dependencias entre dos clases relativamente fuerte. reflejan los niveles de código: una clase como una propiedad de otra clase.
público de clase libro {}
pública clase Persona { libro libro; }
relación especial: composición polimerizada. . .