Clases predefinidas como nombre de Clase o de Variable en Java

Basico

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.

1. Nombres de Clase no Válidos en Java

Los siguientes son algunos nombres de clase no válidos en Java

boolean break = false; // no permitido ya que break es palabra clave
int boolean = 28; // no permitido ya que boolean es palabra clave
boolean goto = false; // no permitido ya que goto es palabra clave
String final = "hola"; // no permitido ya que final es palabra clave

2. Usar nombre de clase predefinido como nombre de clase definido por el usuario

  • Pregunta: ¿Podemos tener nuestro nombre de clase como uno de los nombres de clase predefinidos en nuestro programa?
  • Respuesta: Sí, podemos tenerlo. A continuación se muestra un ejemplo del uso de number como clase definida por el usuario.

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

2.1. Usando String como clase definida por el usuario

// 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 (String[] args)
    {
        System.out.println("Estoy confudido");
    }
}

Sin embargo, en este caso obtendrá un error en tiempo de ejecución como este:

Salida:

Error: Main method not found in class String, please define 
the main method as:
   public static void main(String[] args)
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

3. Usar nombre de clase predefinido como Nombre de variable definido por el usuario

  • Pregunta: ¿Puedo tener un nombre de clase predefinido como un nombre de variable en nuestro programa?
  • Respuesta: Sí, podemos tenerlo.

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
{
    // variable de instancia
    int Number = 20;
     
    public static void main (String[] args)
    {
        // variable de referencia
        Number Number = new Number();
         
        // imprimir referencia
        System.out.println(Number);
         
        // imprimir variable de instancia
        System.out.println(Number.Number);
    }
}

Salida:

[email protected]
20
Clases Predefinidas Java
  • 10/10
    Clase en Java - 10/10
  • 10/10
    Nombre de Variable en Java - 10/10

Sobre el Autor:

Hey hola! Yo soy Alex Walton y tengo el placer de compartir conocimientos hacía ti sobre el tema de Programación en Java, desde cero, Online y Gratis.

Deja una Respuesta

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.