01 - Clases Predefinidas en Java
01 - Clases Predefinidas en Java
Te atreves a usar Clases predefinidas como nombre de Clase o Variable en Java ¿Funciona o
muestra error? Veamos lo que sucede…
×Ahora empecemos con las Clases en Java. Podríamos avanzar más rápido, pero estas son cosas
importantes y muy valiosas que debes tener en cuenta. ¿Qué nombre le podemos poner a una
clase?
En Java, se permite el uso de un nombre de clase predefinido como Clase o Nombre de variable
(ya veremos qué son variables y cómo definirlas, calma). Sin embargo, según la especificación del
lenguaje Java (ver §3.9), la regla básica para nombrar en Java es que no puede usar una palabra
clave como nombre de una clase, nombre de una variable ni como nombre de una carpeta
utilizada para el paquete.
Sin embargo, el uso de cualquier clase predefinida en Java no causará dicho error de compilación
ya que las clases predefinidas de Java no son palabras clave reservadas.
Por ejemplo:
// Number es un nombre de clase predefinido en el paquete java.lang
// Nota: el paquete java.lang está incluido en cada programa Java de manera
predeterminada
public class Number
{
public static void main (String[] args)
{
System.out.println("Si Funciona");
}
}
Salida:
Si Funciona
Sin embargo, en este caso obtendrá un error en tiempo de ejecución como este:
Salida:
×Explicación: Esto se debe a que el hilo principal está buscando el método main() con un
argumento de array de la clase String predefinido. Pero aquí, obtuvo el método main() con clase
String definida por el usuario. Siempre que el hilo principal vea un nombre de clase, intenta
buscar esa clase alcance por alcance. Primero verá en su programa, luego en su paquete. Si no se
encuentra, entonces la JVM sigue el principio de jerarquía de delegación para cargar esa clase. De
lo contrario, obtendrá un error en tiempo de ejecución.
Para ejecutar el programa anterior, también podemos proporcionar la ruta completa de la clase
String, es decir, java.lang.String
// String es un nombre de clase predefinido en el paquete java.lang
// Nota: el paquete java.lang está incluido en cada programa Java de manera
predeterminada
public class String
{
public static void main (java.lang.String[] args)
{
System.out.println("Estoy confundido");
}
}
Salida:
Estoy confundido
Por ejemplo:
// imprimir referencia
System.out.println(Number);
Salida:
Number@15db9742
20