La estructura del archivo fuente de Java describe que el archivo de código fuente de Java debe seguir un esquema o estructura. En este artículo, veremos algunas de las pautas importantes que debe seguir un programa Java.
Un programa Java tiene la siguiente estructura:
1. declaraciones de paquete : un paquete en Java es un mecanismo para encapsular un grupo de clases, subpaquetes e interfaces.
2. declaraciones de importación: la declaración de importación se utiliza para importar un paquete, clase o interfaz.
3. definición de clase : una clase es un modelo o prototipo definido por el usuario a partir del cual se crean objetos, y es una entidad pasiva.
Ejemplo:
Puntos importantes a tener en cuenta al trabajar con el archivo fuente de Java
A continuación se muestran los puntos que debemos tener en cuenta al trabajar con Java:
1. Número de clases en un archivo fuente Java:
Un programa Java puede contener cualquier número de clases y, como máximo, una de ellas puede declararse como clase pública.
Explicación: Java nos permite crear cualquier número de clases en un programa. Pero de todas las clases, como máximo, una de ellas puede declararse como clase pública. En palabras simples, el programa puede contener una clase pública cero o, si hay una clase pública presente, no puede ser más de una.
La prueba de corrección de la declaración: Vamos a crear un programa en nuestro IDE local y compilarlo con la ayuda del compilador Javac .
Por ejemplo, en el siguiente programa, hemos creado tres clases vacías (Geeks, Aprendizaje y Programación).
Código fuente:
Java
// Declaring classes class Geeks { } class Learning { } class Programming { }
Hemos guardado el archivo fuente de Java anterior con el nombre GeeksforGeeks.java.
Compilemos ahora el programa con la ayuda del compilador javac a través del símbolo del sistema:
javac GeeksforGeeks.java
Producción:
El programa se compila correctamente sin ningún error y se generan los archivos .class correspondientes.
2. Nombre del archivo fuente de Java:
El nombre del archivo fuente de Java puede ser cualquiera, siempre que no se declare ninguna clase como pública.
Explicación: Java nos permite nombrar el archivo fuente de Java con cualquier nombre si no hay una sola clase declarada como pública. Pero si hay una clase que se declara pública, el nombre del archivo fuente de Java debe ser el mismo que el nombre de la clase pública. La extensión del archivo fuente de Java debe ser .java.
La prueba de corrección de la declaración: En la declaración 1 (consulte la figura 2), ya hemos visto que el nombre del archivo fuente de Java puede ser cualquier cosa si ninguna de las clases se declara pública.
Ahora comprobaremos si nuestro programa compila correctamente o no si declaramos una de las clases como pública.
Por ejemplo, en el siguiente programa, hemos creado tres clases vacías (Geeks, Aprendizaje y Programación), y exactamente una de ellas es una clase pública (Geeks).
Código fuente:
Java
// Declaring classes // Declared as public public class Geeks { } class Learning { } class Programming { }
Hemos guardado el archivo fuente de Java anterior con el nombre GeeksforGeeks.java .
Compilemos ahora el programa con la ayuda del compilador javac a través del símbolo del sistema:
Producción:
Obtenemos el error de compilación. El compilador solicita guardar el nombre del archivo fuente de Java con Geeks.java solo porque la clase Geeks se declara pública.
Compilemos ahora el programa con la ayuda del compilador javac a través del símbolo del sistema nuevamente:
javac Geeks.java
Producción:
Este programa de tiempo se compila con éxito sin ningún error.
3. Número de archivos .class en un archivo fuente Java:
El número de archivos .class generados es igual al número de clases declaradas en el programa Java.
Explicación: al compilar un programa, el compilador javac genera tantos archivos .class como clases haya declarado en el archivo fuente de Java.
Sintaxis de los archivos .class generados:
class_name.class: class_name is name of the class that is present in the Java source file.
El archivo .class contiene el código de bytes de Java y luego es ejecutado por la JVM (Java Virtual Machine). El intérprete de Java (JVM) sabe dónde se encuentran los archivos de clase para las clases del sistema estándar y puede cargarlos según sea necesario.
La prueba de corrección de la declaración: Vamos a crear un programa en nuestro IDE local y compilarlo con la ayuda del compilador Javac.
Ahora comprobaremos si el número de archivos .class (código de bytes) generados es el mismo que el número de clases declaradas en el archivo fuente de Java.
Por ejemplo, en el siguiente programa, hemos creado tres clases vacías (GeeksforGeeks, Programación y Codificación).
Código fuente:
Java
// Declaring classes class GeeksforGeeks { } class Programming { } class Coding { }
Hemos guardado el archivo fuente de Java anterior con el nombre GeeksforGeeks.java .
Compilemos ahora el programa con la ayuda del compilador javac a través del símbolo del sistema:
javac GeeksforGeeks.java
Producción:
El programa se compila correctamente sin ningún error, y dado que tenemos tres clases definidas en el programa GeeksforGeeks.java , se generan archivos de código de bytes Coding.class , GeeksforGeeks.class , Programming.class .
4. Funcionamiento combinado:
Diseño: Podemos entender la estructura considerando el siguiente fragmento de código:
Java
// File name: GeeksforGeeks.java // Package declaration package myPackage; // import statements import classes; // Class declaration public class Class1 { } class Class2 { } class Class3 { }
Para comprender el funcionamiento combinado de la estructura de archivos de Java, considere el siguiente programa:
Hemos creado tres clases vacías: GeeksforGeeks, Programación y Codificación, de las cuales la clase GeeksforGeeks se declara como una clase pública.
Java
// Package statement package myPackage; // Three empty classes and // GeeksforGeeks is declared as public // We can't declare more classes as public // (atmost one class can be declared as public) // So file name will be GeeksforGeeks only public class GeeksforGeeks { } class Programming { } class Coding { }
Hemos guardado el archivo fuente Java anterior con el nombre GeeksforGeeks.java ya que la clase GeeksforGeeks se declara pública. Nombrar este archivo con un nombre diferente nos dará un error en tiempo de compilación, como hemos visto antes.
Compilemos ahora el programa con la ayuda del compilador javac a través del símbolo del sistema:
javac GeeksforGeeks.java
Producción:
Como puede ver arriba, se compila correctamente sin ningún error y se generan archivos de código de tres bytes ( .class ): Coding.class , GeeksforGeeks.class , Programming.class.