PDF de programación - Resumen de objetivos para el SCJP 6.0

Imágen de pdf Resumen de objetivos para el SCJP 6.0

Resumen de objetivos para el SCJP 6.0gráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.340 visualizaciones desde el 14 de Enero del 2017
4,1 MB
155 paginas
Creado hace 13a (09/10/2010)
Resumen de objetivos para el SCJP 6.0



Autor:

- Mayer Horna García



Con el fin de aprender todos, cualquier aporte a este documento reenviarlo a:

[email protected]

Copyright © 2010

1

<CAP1: Declarations and Access Control>

<CERTIFICATION OBJETIVES>

<OBJECTIVES>

<OBJECTIVE 1.3 AND 1.4: Identifiers & JavaBeans>

<SUMARY>

1.3 Develop code that declares, initializes, and uses primitives, arrays, enums, and
objects as static, instance, and local variables. Also, use legal identifiers for variable names.
1.4 Develop code that declares both static and non-static methods, and—if appropriate—
use method names that adhere to the JavaBeans naming standards. Also develop code that
declares and uses a variable-length argument list.

</SUMARY>



1. Los identificadores únicamente pueden empezar por letras, guión bajo(_) o símbolo de

dólar($).

Ejemplo de identificadores legales:

int _a;
int $c;
int ______2_w;
int _$;
int this_is_a_very_detailed_name_for_an_identifier;

Ejemplo de identificadores ilegales:

int :b;
int -d;
int e#;
int .f;
int 7g;

int double;



2. Palabras reservadas: Son todas las palabras propias del lenguaje y que no se pueden

utilizar para declarar atributos, métodos, clases, etc. Son escritas en minúsculas:



abstract
***
assert
boolean
break
byte
case
catch
char
class
*

const

continue
default
do
double
else

****
enum
extends
final
finally
float

for

*

goto
if
implements
import
instanceof
int
interface
long
native

new
package
private
protected
public
return
short
static

**

strictfp
super

switch
synchronized
this
throw
throws
transient
try
void
volatile
while

* not used
** added in 1.2
*** added in 1.4
**** added in 5.0

</OBJECTIVE 1.3 AND 1.4: Identifiers & JavaBeans>



2



<OBJECTIVE 1.1: Declare Classes>

<SUMARY>

1.1 Develop code that declares classes (including abstract and all forms of nested classes),
interfaces, and enums, and includes the appropriate use of package and import statements
(including static imports)..

</SUMARY>

3. Únicamente puede haber una clase pública por fichero java. El nombre del fichero debe

coincidir con el de la clase pública. Puede haber más de una clase default en el mismo

fichero.



4. En un fichero sin clases públicas, las clases no tienen restricción de nombre, no es

necesario que coincida el nombre de una clase con el nombre del fichero.



5. Los comentarios pueden aparecer en cualquier parte del fichero java.



6. Las clases únicamente pueden ser public o default (no poner nada delante del class).



7. Niveles de acceso: (de mayor a menor restricción) -> private (acceso únicamente desde la

propia clase), default (acceso desde la propia clase y desde el mismo paquete), protected

(acceso desde la propia clase, paquete y subclase), public (acceso desde cualquier

paquete). Nota: En Java, hay 4 niveles de acceso, pero solo 3 modificadores de acceso

(Ver punto 22).



8. Las clases también pueden ser declaradas como final (no se puede extender de ella),

abstract (no puede ser instanciada, solo extender de ella) y strictfp (los métodos de la

clase seguirán las reglas del IEEE 754 para los números en coma flotante, solo se utiliza

para clases o métodos, no para variables). Estos 3, son considerados como modificadores

de clase (no de acceso). Pueden acompañar a cualquiera de los modificadores de acceso,

p.e: public final..., pero no pueden combinarse entre ellos. Por ejemplo esto es incorrecto:

final abstract. Sólo combinar strictfp con cualquier de éstos dos, Por ejemplo, esto es

correcto : final strictfp o public final strictfp.



9. Métodos y atributos (miembros de una clase): Pueden tener los 4 niveles de acceso. Las

variables de instancia son siempre inicializados a sus valores por defecto. Los métodos

pueden tener final o abstract. Si tiene final significa que no va a poder ser sobreescrito

por alguna subclase. Si es abstract significa que es un método abstracto (sin cuerpo, solo

declaración), recordar que solo las clases abstractas pueden tener métodos abstractos.

No existen variables de instancia, ni locales que puedan ser abstractos, esto solo se aplica

a métodos. Las variables de instancia y locales si pueden tener final.



3

Ver imagen del punto 24 para que veas que modificador puede ser aplicado a

variables y/o métodos.



10. El modificador static sirve para que un miembro (atributo o método) sea de clase, es decir,

todos las instancias de esa clase compartirán el mismo valor de la variable (en caso de ser

un atributo) o el mismo método.

En el caso de las variables es como si las consideráramos variables globales.

Puede estar antes o después del modificador de acceso, por ejemplo:

static public void main(String[] a) es lo mismo que decir
public static void main(String[] a)



11. Una clase únicamente puede heredar de otra (herencia simple) e implementar múltiples

interfaces.



12. Siempre que se herede de una clase, se tendrá acceso sólo a todos los miembros

declarados como public, protected y también se tendrá acceso a los miembros default si

la superclase de la que extendemos está en el mismo paquete de la que se hereda. Si una

clase hija en diferente paquete que el padre, instancia un objeto de la clase padre, no va a

poder acceder a los miembros (variables de instancia y métodos) de la clase padre si estas

están con modificador de acceso: protected



13. Todas las clases, incluyendo las abstractas, tienen al menos un constructor. Aunque no lo

especifiquemos directamente, el compilador insertará el constructor por defecto en caso de

que nosotros no insertemos uno. El constructor por defecto es de modificador de acceso

públic, pero el programador puede poner

cualquier otro modificador de

acceso(private,protected,<default>) .



14. Las clases abstractas no se pueden instanciar, es decir no se pueden crear objetos de esa

clase con “new”.



15. Cuando se crea un objeto de una clase, se llamará a uno de sus constructores, con o sin

argumentos en función de la instanciación del objeto. En la primera línea de cada

constructor el compilador insertará una llamada al constructor (super()) por defecto de la

superclase (la superclase de todas las clases es Object). Unicamente se puede hacer una

llamada a un constructor dentro de otro. Si creamos una clase con un constructor que

recibe algún argumento, el compilador ya no nos insertará el constructor por defecto. Los

constructores no se heredan.



4



</OBJECTIVE 1.1: Declare Classes>



<OBJECTIVE 1.1 AND 1.2: Declare Interfaces>

<SUMARY>

1.1 Develop code that declares classes (including abstract and all forms of nested classes),
interfaces, and enums, and includes the appropriate use of package and import statements
(including static imports).
1.2 Develop code that declares an interface. Develop code that implements or extends one
or more interfaces. Develop code that declares an abstract class. Develop code that extends
an abstract class.

</SUMARY>



16. Las

interfaces únicamente declaran sus métodos

(no

los

implementan). Las

variables(constantes) son implícitamente public, final y static. Los métodos son

implícitamente public abstract. Las interfaces pueden heredar de otras interfaces, tienen

herencia múltiple (entre interfaces extends nunca implements). Pensar en las interfaces

como clases 100 % abstractas.

Una interface solo puede extender de una o muchas interfaces.

Las intefaces pueden ser utilizadas polimórficamente.

Las interfaces son implícitamente abstractas, osea, el siguiente código es legal:



public abstract interface Rollable



17. Si desde una clase no abstracta se implementa una interface, es obligatorio implementar

todos los métodos de esa interfaz.

En cambio las clases abstractas no tienen la obligación de implementar los métodos de la

interface, eso sí, la primera clase no abstracta que extienda de ella, deberá implementar

todos sus métodos declarados como abstractos y también los métodos de la interfaz que

implementó.



</OBJECTIVE 1.1 AND 1.2: Declare Interfaces>



5

<OBJECTIVE 1.3 AND 1.4: Declare Class Members>

<SUMARY>

1.3 Develop code that declares, initializes, and uses primitives, arrays, enums, and
objects as static, instance, and local variables. Also, use legal identifiers for variable
names.
1.4 Develop code that declares both static and non-static methods, and—if
appropriate—use method names that adhere to the JavaBeans naming standards. Also
develop code that declares and uses a variable-length argument list.

</SUMARY>



18. native, solo se utiliza para métodos y no tiene cuerpo(igual que los métodos abastractos):



public native void prestarSaludo();



19. Sobre los métodos que aceptan argumentos variables(VAR-ARGS): Estos métodos

aceptan cero o más argumentos en su llamada, su sintaxis es: nombreMetodo(int ... x) ó

nombreMetodo(long x, float y, int ... z). Si el método debe aceptar argumentos normales,

los argumentos variables siempre deben ir al final y solo se puede tener un var-args en un

método.



20. Es legal que un método se llame como el constructor, pero es una falta grave llamar un

método así.



21. Las variables dentro de los métodos deben s
  • Links de descarga
http://lwp-l.com/pdf880

Comentarios de: Resumen de objetivos para el SCJP 6.0 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad