Esta pregunta trata sobre cómo usar correctamente la variable estática de una clase en otro paquete.
1. Dados los dos archivos fuente:
1. package com.sun; 2. public class PkgAccess { 3. public static int tiger = 1414; 4. } |
Y:
1. import static com.sun.PkgAccess.*; 2. 3. public class PkgAccess2 { 4. 5. int x1 = PkgAccess.tiger; 6. int x2 = tiger; 7. int x3 = com.sun.PkgAccess.tiger; 8. int x4 = sun.PkgAccess.tiger; 9. } |
¿Cuáles dos son verdaderas? (Escoge dos.)
- 1 – La clase PkgAccess2 se compila.
- 2 – La compilación falla debido a un error en la línea 5.
- 3 – La compilación falla debido a un error en la línea 6.
- 4 – La compilación falla debido a un error en la línea 7.
- 5 – La compilación falla debido a un error en la línea 8.
- 6 – Las clases PkgAccess y PkgAccess2 se compilan.
Respuesta: 2 y 5 son verdaderas.
Explicación: Cuando dice «import static com.sun.PkgAccess. *;» está importando cada valor estático de la clase PkgAccess, por lo que puede llamar a ese valor usando
com.sun.PkgAccess.tiger // full path to access static "tiger" variable tiger // use directly the static variable (because we import it !) |
no puedes decir
sun.PkgAccess.tiger // because the path is incorrect PkgAccess.tiger // same as above |
Cuando ingrese ese código en IDE como Netbeans, le permitirá cambiarlo.