¿Cómo puedes explicar muy bien, a un principiante, el significado de String args[]
y el uso de static
en el siguiente fragmento?
class FirstApp {
public static void main(String[] args) {
...
}
}
Yo señalaría a un principiante el artículo de la Wiki sobre la función Principal, y luego lo complementaría con esto.
Java sólo comienza a ejecutar un programa con la firma específica public static void main(String[] args)
, y uno puede pensar en una firma como su propio nombre - es como Java puede diferenciar entre el main()
de otra persona y el único main()
verdadero.
La cadena String[] args
es una colección de String
s, separadas por un espacio, que pueden ser escritas en el programa en la terminal. La mayoría de las veces, el principiante no va a utilizar esta variable, pero siempre está ahí por si acaso.
Si estuviera explicando esto a alguien le diría que ya llegaremos a ello más adelante, pero por el momento tienes que saber que la forma de ejecutar tu programa es usar :
public static void main(String[] args) {
...
}
Asumiendo que él/ella sabe lo que es un array, yo'diría que el args es un array de argumentos y puedes mostrar algunos ejemplos interesantes.
Entonces, después de que usted & #39; he ido un poco acerca de Java / JVM y esas cosas, usted & #39; llegar a los modificadores eventualmente a la estática y pública también.
Entonces usted puede pasar algún tiempo hablando de significado de estos IMHO.
Usted podría mencionar otros "cool" cosas como varargs que puede utilizar esto en las versiones posteriores de Java.
public static void main(String ...args) {
//...
}
Para mantener la actitud de los principiantes puedes explicar que toda la línea de comandos se divide automáticamente en una matriz de cadenas (la Cadena[]
).
Para static
tienes que explicar que no es un campo como otro: es único en la JVM incluso si tienes miles de instancias de la clase
Así que main
es estático, porque es la única forma de encontrarlo (enlazado en su propia clase) en un jar
.
... después de ver la codificación, y su trabajo comienza ...