You are on page 1of 6

1.

Sea la siguente clase de Java:


public class Lampara {
int contador1;
// Contador 1
static int contador2; // Contador 2
public Lampara() {
contador1 = 0;
contador2 ++;
}
public void incrementa1() {
contador1++;
}
public void incrementa2() {
contador2++;
}
public static void incrementa() {
contador1++;
contador2++;
}
}

qu ocurrira al compilarla?
a. Compilara sin problemas.
b. Saldra un error de compilacin en el mtodo incrementa1().
c. Saldra un error de compilacin en el mtodo incrementa2().
d. Saldra un error de compilacin en el mtodo incrementa().

2. Qu es lo que no se permite hacer en Java?


a. Declarar atributos estticos (static) de la clase.
b. Declarar inicializadores estticos (static) de las clase.
c. Declarar constructores estticos (static)en las clase.
d. Declarar mtodos estticos (static) de la clase.

3. Dado el siguente cdigo Java :


4. class HolaMundo {
5.
String sHola="Hola mundo!";
6.
7.
public static void main( String args[] ) {
8.
System.out.println( this.sHola );
9.
}
}

qu ocurrira al intentar compilarlo?

a. El cdigo no compilara porque el atributo sHola no se puede inicializar al mismo tiempo


que su declaracin.

b. El cdigo no compilara porque no hay ningn contructor declarado de la clase.


c. El cdigo no compilara porque el mtodo main() est mal declarado.
d. El cdigo no compilara porque no se puede acceder desde el mtodo esttico main() al
atributo sHola.

4. Es correcto el siguente cdigo Java?


5. class HelloWorld {
6.
static {
7.
System.loadLibrary("hello");
8.
}
9.
10.
public void displayHelloWorld() {
11.
System.out.println("hello");
12.
}
13.
14.
public static void main(String[] args) {
15.
new HelloWorld().displayHelloWorld();
16.
}
}

a. S, es correcto.
b. No, hay una funcin esttica mal declarada.
c. No, no se puede crear un objeto HelloWorld sin ser asignado previamente a una variable.
d. No, no se puede invocar al mtodo displayHelloWorld() tal y como se ha hecho.

5. Dnde se situaran los ficheros .class del paquete edu.uc3m.it.tsirda ?


a. En un subdirectorio tsirda/it/uc3m/edu situado a partir del directorio apuntado por la
variable de sistema CLASSPATH.
b. El el directorio /lib de libreras del JDK del sistema.
c. En un subdirectorio edu/uc3m/it/tsirda situado a partir del directorio raz del sistema.
d. En un subdirectorio edu/uc3m/it/tsirda situado en algn lugar apuntado por por la variable
de sistema CLASSPATH.

6. Respecto a los paquetes de Java, sealar cul es la afirmacin falsa:


a. Todas las clases en Java pertenecen a un paquete.
b. Hay que importar siempre todas las clases de un paquete para trabajar con alguna de ellas.
c. Si no escribimos la palabra reservada package al crear un paquete, se asigna la clase a un
paquete annimo por defecto.
d. Si existieran varias clases con el mismo nombre en diferentes paquetes, se requiere usar el
nombre cualificado de dichas clases.

7.

Se pretende crear una librera grfica definiendo un paquete llamado graficos. Para
ello, se crea el siguiente fichero Graficos.java que implementa dicho paquete:
8. package graficos;
9.
10.
public class Punto {
11.
// Implementacin de la clase Punto ...
12.
}
13.
14.
public class Linea {
15.
// Implementacin de la clase Linea ...
}

cmo se usara una clase del paquete graficos ?


a. Se tendra que usar la sentencia import graficos.*;
b. No se puede usar niguna clase, la implementacin de la librera no es correcta.
c. Habra que hacer el import de la clase correspondiente de la librera.
d. Colocando simplemente las clases de la librera en subdirectorio /graficos apuntado por el
CLASSPATH.

8. Qu tipo de acceso es el que se conoce en Java cuando no se usa ningn modificador de


acceso?:
a. Acceso pblico.
b. Acceso de paquete.
c. Acceso protegido.
d. Acceso privado.

9.

Sea el siguiente cdigo Java que implementa una clase del paquete acceso:
1. package acceso;
2.
3. public class ClaseDelPaqueteAcceso {
4.
5.
private
int privado = 1;
6.
int paquete = 2;
7.
protected int protegido = 3;
8.
public
int publico = 4;
9.
10.
private void metodoPrivado() {
11.
System.out.println("Soy un mtodo privado de la clase
ClaseDelPaqueteAcceso.");
12.
}
13.
14.
void metodoDePaquete() {
15.
System.out.println("Soy un mtodo de paquete de la clase
ClaseDelPaqueteAcceso.");
16.
}
17.
18.
protected void metodoProtegido() {
19.
System.out.println("Soy un mtodo protegido de la clase
ClaseDelPaqueteAcceso.");
20.
}
21.
22.
public void metodoPublico() {
23.
System.out.println("Soy un mtodo pblico de la clase
ClaseDelPaqueteAcceso.");
24.
}
25.
26.
public static void main(String[] args) {
27.
ClaseDelPaqueteAcceso a = new ClaseDelPaqueteAcceso();
28.
29.
System.out.println("Soy un atributo privado de la clase
ClaseDelPaqueteAcceso: " + a.privado );
30.
System.out.println("Soy un atributo de paquete de la clase
ClaseDelPaqueteAcceso: " + a.paquete );
31.
System.out.println("Soy un atributo protegido de la clase
ClaseDelPaqueteAcceso: "+ a.protegido);
32.
System.out.println("Soy un atributo pblico de la clase
ClaseDelPaqueteAcceso: "+ a.publico );
33.
34.
System.out.println("");
35.
36.
a.metodoPrivado();
37.
a.metodoDePaquete();
38.
a.metodoProtegido();
39.
a.metodoPublico();
40.
41.
}
}

Qu imprime el resultado de la ejecucin de este cdigo por pantalla?


Soy
Soy
Soy
Soy

un
un
un
un

atributo
atributo
atributo
atributo

Soy
Soy
Soy
Soy

un
un
un
un

mtodo
mtodo
mtodo
mtodo

privado de la clase ClaseDelPaqueteAcceso: 1


de paquete de la clase ClaseDelPaqueteAcceso: 2
protegido de la clase ClaseDelPaqueteAcceso: 3
pblico de la clase ClaseDelPaqueteAcceso: 4

privado de la clase ClaseDelPaqueteAcceso.


de paquete de la clase ClaseDelPaqueteAcceso.
protegido de la clase ClaseDelPaqueteAcceso.
pblico de la clase ClaseDelPaqueteAcceso.

10.

Sea el siguiente cdigo de otra clase del mismo paquete acceso de la cuestin
anterior:
1. package acceso;
2.
3. public class OtraClaseDelPaqueteAcceso {
4.
5.
public static void main(String[] args) {
6.
ClaseDelPaqueteAcceso a = new ClaseDelPaqueteAcceso();
7.
8.
System.out.println("Soy el atributo privado de la
ClaseDePaqueteAcceso: " + a.privado);
9.
System.out.println("Soy el atributo de paquete de la
ClaseDePaqueteAcceso: " + a.paquete);
10.
System.out.println("Soy el atributo protegido de la
ClaseDePaqueteAcceso: " + a.protegido);
11.
System.out.println("Soy el atributo pblico de la
ClaseDePaqueteAcceso: " + a.publico);
12.
13.
a.metodoPrivado();
14.
a.metodoDePaquete();
15.
a.metodoProtegido();
16.
a.metodoPublico();
17.
}
}

Para poder ejecutar este cdigo, hay que comentar algunas lneas. Deduce qu lneas
son y el resultado de la ejecucin del cdigo por pantalla.
Al intentar compilar el cdigo, se obtendr una salida por pantalla parecida a esta:
OtraClaseDePaqueteAcceso.java: metodoPrivado() has private access in
acceso.ClaseDePaqueteAcceso
a.metodoPrivado();
^
OtraClaseDePaqueteAcceso.java: privado has private access in
acceso.ClaseDePaqueteAcceso
System.out.println("Soy el atributo privado de la
ClaseDePaqueteAcceso: " + a.privado);
^
2 errorsPara ejecutar el cdigo anterior hay que comentar las siguientes lneas de cdigo:
public class OtraClaseDelPaqueteAcceso {
public static void main(String[] args) {
ClaseDelPaqueteAcceso a = new ClaseDelPaqueteAcceso();
// RECUERDA QUE LOS MODIFICADORES DE ACCESO SON A NIVEL DE CLASE, NO DE OBJETO
//System.out.println("Soy el atributo privado de la ClaseDePaqueteAcceso: " +
a.privado);
System.out.println("Soy el atributo de paquete de la ClaseDePaqueteAcceso: " +
a.paquete);
System.out.println("Soy el atributo protegido de la ClaseDePaqueteAcceso: " +
a.protegido);
System.out.println("Soy el atributo pblico de la ClaseDePaqueteAcceso: " +
a.publico);
// RECUERDA QUE LOS MODIFICADORES DE ACCESO SON A NIVEL DE CLASE, NO DE OBJETO
//a.metodoPrivado();
a.metodoDePaquete();
a.metodoProtegido();
a.metodoPublico();
}
}

Soy el atributo de paquete de la ClaseDePaqueteAcceso: 2


Soy el atributo protegido de la ClaseDePaqueteAcceso: 3
Soy el atributo pblico de la ClaseDePaqueteAcceso: 4
Soy un mtodo de paquete de la clase ClaseDelPaqueteAcceso.
Soy un mtodo protegido de la clase ClaseDelPaqueteAcceso.
Soy un mtodo pblico de la clase ClaseDelPaqueteAcceso.

You might also like