SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.

1 SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6 ...
Author: Adolfo Carlos Montero Salazar
0 downloads 2 Views

1 SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6

2 SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES

3 INNER CLASES

4 INNER CLASES LOCALES A MÉTODOS Una inner class regular tiene el mismo alcance que una variable de instancia. Se puede declarar una clase dentro de un método

5 I NTANCIAS Para crear una instancia de una inner class declarada dentro de un método, es necesario una instancia de la top class

6 Que puede hacer y que no un objeto inner local a metodo Una inner clase local a metodo puede ser instanciada solo dentro del metodo donde la inner class esta definida. Los objetos de una inner class local a metodo NO pueden usar las variables locales del metodo donde la inner class es declarada, a menos que sean finales Las inner class locales a metodos siguen las mismas reglas de los modificadores de acceso, es decir, no pueden ser marcadas como public, private, protected, static, transient.

7 Que puede hacer y que no un objeto inner local a metodo Pueden ser marcadas como abstract y final, pero solo se puede usar un modificador al mismo tiempo, no pueden estar ambos Las inner class locales (dentro de los métodos) pueden accesar a los miembros privados de la clase en la que han sido declaradas. Las inner class locales no pueden accesar a las variables declaradas dentro de los métodos a menos que estén marcadas como final

8 Que puede hacer y que no un objeto inner local a metodo

9 E JERCICIO Probar las local inner-class

10 I NNER CLASS ANÓNIMAS Las inner cass anónimas son las que pueden ser declaradas sin nombre Tipo uno:

11 INNER CLASS ANÓNIMAS Definimos dos clases, Popcorn y Food Popcorn tiene un metodo llamado pop() Food tiene una variable de instancia de tipo Popcorn. Food no tiene metodos La variable de referencia Popcorn no hace referencia a una instancia de Popcorn, pero si a una instancia de una subclase anonima de Popcorn

12 INNER CLASS ANÓNIMAS En la linea 2 declaramos una variable de referencia llamada p de tipo Popcorn. Se declara una nueva clase que no tiene nombre, pero es una subclase de Popcorn. En la linea 3 se tiene un metodo llamado pop() que pertenece a la clase anonima y es una sobreescritura del metodo original En la linea 6 se incluye un ; que indica el cierre de la definicion de la clase anonima

13 RECORDANDO POLIMORFISMO

14 P OLIMORFISMO

15 I NNER CLASS ANÓNIMAS TIPO 2 Las interfaces no se pueden instanciar pero se puede declarar una inner class anónima que implemente dicha interface

16 INNER CLASS ANÓNIMAS TIPO 2 Reglas: Solo pueden implementar una y solo una interface No pueden heredar de una clase e implementar una interface al mismo tiempo Las inner class o son una subclase de una clase (y no implementan todos los metodos de la interface) o implementan alguna interface

17 INNER CLASS ANÓNIMAS COMO ARGUMENTOS

18

19 C LASES ESTÁTICAS ANIDADAS Para las inner class estáticas no es necesario crear una instancia de la clase para generarlas y no accesa a los miembros de instancia de la clase.

20 INSTANCIAS