Contenido relevante:
SCJP: Intro, cap1, cap2, cap3, cap4, cap5, cap6, cap7, cap8
Eclipse: Instalacion, Primer error, Mas...
Linux: Adm archivos, User, Com, Compresion, RAID, Compiz, Mas...
Java: Instalacion JDK (Java), Mas...

SCJP C1P3: Declaracion de interfaces

Capitulo 1, parte 3
viene de: parte 2


Declaración de interfaces

Una interfaz es un contrato, no dice como va a hacer, simplemente se especifica los requerimientos.
Es 100% abstracta, no se define nada, es solo declarativa

* Todos los métodos de las interfaces, implícitamente son públicos y abstractos, no es necesario declararlo
* Todas las variables definidas deben ser public, final y static, o sea, solo puede tener constantes
* Los métodos no pueden ser static, final, strictfp o native
* Una interfaz puede extender de una o varias interfaces
* Una interfaz no puede implementar otra interfaz o clase
* Se declara con la palabra "interface"
* Los tipos de interfaz pueden ser polimorficas

Declaracion de miembros de clase
Access:
Igual que los modificadores de clases, pero para los métodos hay un modificador mas: "protected", en interfaces no.
Public, protected, default, private

Protected
Es igual a default, con la salvedad de que no es visible desde otros packages, solo son visibles si se esta heredando. En otras palabras los métodos protected solo son visibles por medio de la herencia, o desde el mismo package, usado para declarar metodos que tienen funcionalidad solo a travez de la herencia.

Es recomendable usar la metodología de los beans (atributos = setters/getters)
Los metodos privados de una superclase "no se pueden" sobreescribir

Nonaccess:
Final, Abstract, Syncronized, Native, Strictfp
Final: Prohíbe sobrescribir el método (también se pueden usar final en la linea de la declaración de un método, como argumento de una variable)
Abstract: SOLO se utiliza en clases abstractas y no contiene implementacion, con esto se fuerza a que las clases que extienden deban implementar dicho metodo.
Algo a tener en cuenta es que como no lleva implementacion, la declaración es sin llaves y termina con punto y coma
abstract void pepe2();
Syncronized: Este modificador fuerza a que solo un thread a la vez pueda acceder a dicho método.
Native: Con este modificador se puede codificar en C y compilar a nivel maquina, no maquina virtual.
Strictfp: Fuerza a que se utilize la norma IEEE754 para los cálculos con coma flotante (float)

continua en: parte 4

No hay comentarios: