¿El método principal pertenece a cualquier clase?¿El método principal pertenece a cualquier clase?
Respuesta
Pertenece a una clase. Mire cualquier implementación de hello-world y sería claro para usted.
public static void main(String[] args) {
System.out.println("Hello World");
}
no se compilará tal como está. Debe poner class HelloWorld { ... }
alrededor, en cuyo caso puede decir que el método principal "pertenece" a la clase HelloWorld
.
Sin embargo, ya que es estática, que no pertenece a ningún objeto en particular. Hay una diferencia importante entre las clases y los objetos con los que debe familiarizarse cuando trabaje con lenguajes orientados a objetos. Learning Java: Objects and Classes es un buen punto de partida.
Cada línea de código Java (excepto importación/paquete) vive en una clase (o es una declaración de clase/interfaz). Lo mismo ocurre con main
.
¿Qué pasa con 'import' o' package'? ;-) –
Editado. Gracias. – miku
¿Qué hay de los comentarios? ;-) –
Sí. Cada método o campo debe pertenecer a una clase (o interfaz/enum).
En Java, cualquier aplicación debe tener el método main
en cualquiera de las clases. Y tiene que ser exactamente de la fórmula:
Ver más in official lessons.
Si cuenta una aplicación web como una aplicación, entonces eso no es cierto. Una aplicación web no necesita un método 'main'. –
Pero para ejecutar su aplicación web, debe haberse ejecutado un método 'main()' ... simplemente no tiene que escribirlo. – Dolph
Si quiere decir si pertenece a todas las clases, ese no es el caso. Pertenece a la clase donde lo defines.
Pero cualquier clase puede tener un método estático main
.
no es que ese método principal pertenece a cualquier clase específica que pertenece a esa clase en la que definimos el método principal. puede ser cualquier clase
Cualquier clase en java puede tener un vacío público principal principal (String [] args). La función principal que se declara dentro de una clase (como cualquier otro método estático) pertenece a la definición de clase, pero no a la instancia de instanciación.
Si va a crear un archivo JAR de una colección de clases, puede especificar qué clase dentro del JAR contiene el método principal de la aplicación en el META-INF/MANIFEST.MF utilizando el
Main-Class: fully qualified name of class (example: ie.mycode.MyApp)
Cuando ejecute el comando
java -jar [your jar file]
Mirará el manifiesto y comenzará a ejecutar el código especificado en el principal para el objeto de clase principal.
Como se ha mencionado antes, es parte de una clase, pero no cualquier clase
Si su clase en el la "unnammed" or "default" package, principal método que no será a call any other Java classes de esa clase inicial con su método principal().
Si bien puede funcionar, limitará considerablemente lo que realmente puede hacer dentro de ese método main
.
así que no utiliza ningún clase (i; e; no uno en el paquete por defecto)
main
es un método normal. La única convención es que Java puede usar este (y solo este) método para 'iniciar' una aplicación. Si pasas una clase a java.exe, intenta reflejar este método (¡por eso la firma del método es absolutamente estricta!) Y la invoca (si se encuentra). Esto, de hecho, 'iniciará una aplicación' (iaw: el primer hilo).
Debe pertenecer a una clase, como con cualquier método, y debe estar en la clase que desea ejecutar después de la compilación.
programas sólo pueden iniciar mediante la ejecución de una clase que tiene un método main (nota:. Esto es applicale para la mayoría de tipos de aplicaciones java applets, por ejemplo, funcionan de forma diferente)
Cuando tratamos de ejecutar una clase cuyos camino no es conocido por la JVM, a continuación, se produce un error/excepción algo parecido a continuación
Exception in thread main: classdefnotfound........
Si principal pertenece a la clase que estamos tratando de correr entonces por qué el error dice exception in thread main
esto sólo puede suceder cuando un hilo principal se está ejecutando
El método principal en Java pertenece a una clase pero no a un objeto. Los objetos se crean en tiempo de ejecución. Por lo tanto, dado que el principal main()
en Java es el punto de inicio en su aplicación, no hay forma de iniciar su aplicación desde un método específico de instancia. Es por eso que la palabra clave static
tiene mucho sentido con el método principal. De hecho todas las partes de la declaración principal método tienen sentido cuando se piensa como el 'JVM' y la imagen de lo que hace el método principal (inicia la aplicación):
public
, ya que este método debe ser accesible por el jvm (no escrito por usted).static
, lo que implica que se puede acceder a este método sin tener un objeto (porque su representación nunca cambia), pero aquí la lógica es fácil de entender si piensas como el jvm nuevamente; "No tengo ningún objeto para crear (instanciar) objetos, por lo que necesito un método estático para iniciar la aplicación, ya que simplemente no hay ninguna forma lógica de obtener un método específico de instancia todavía, ya que no tengo nada arriba. aún para crear objetos ".void
Este método no puede devolver nada lógicamente porque aún no hay nada para devolver nada. Es el punto de inicio de la aplicación.main
Soy el método principal ya que sin mí no tendrá una aplicación.String[] args
Envíame datos que quizás te puedan resultar útiles para mi startup.
- 1. ¿Cómo mover el método principal a otra clase en Scala?
- 2. ¿A qué espacio de nombres pertenece una clase de fábrica?
- 3. ¿El método "Guardar" pertenece a la Entidad de Dominio Empresarial?
- 4. En Gobject, ¿cómo anular el método de la clase padre pertenece a una interfaz?
- 5. Método principal en una clase interna estática.
- 6. reemplazar el método principal
- 7. ¿Cómo encuentro la instancia a la que pertenece un método?
- 8. Redirige cualquier subdominio a una página en el dominio principal
- 9. llamar a otro método en el principal método en Java
- 10. Determine la clase a la que pertenece un método en los raíles
- 11. ¿Existe una heurística para determinar si un método o campo pertenece a una clase?
- 12. Obtener el nombre de la unidad que pertenece a cualquier tipo (TRttiType)
- 13. Accediendo a la clase principal en Backbone
- 14. Comprueba si un objeto pertenece a una clase en Java
- 15. ¿A quién pertenece BSTR devuelto?
- 16. LINQ - Cuestión relativa a la 'Cualquier' método
- 17. Cómo saber si una instancia pertenece a un determinado Tipo o cualquier tipo derivado
- 18. Llamar a cualquier método Java desde C#
- 19. ¿A dónde pertenece el archivo .gitignore?
- 20. Hábitos de Java para el método principal
- 21. Java - Thread.sleep en el método principal
- 22. Aclaración MVVM: ¿Qué pertenece a ViewModel, qué pertenece al modelo?
- 23. inyección de Spring Bean en un método principal clase
- 24. Rieles: en referencia al modelo, el objeto pertenece a
- 25. Llamar a un método cada vez antes de llamar a cualquier otro método
- 26. ¿Llamar a un método en el hilo principal?
- 27. ¿A quién pertenece la seguridad?
- 28. Rails pertenece a muchos modelos
- 29. Cakephp: Pertenece a la relación
- 30. jquery agregar clase a principal en el foco de entrada
ahora lo entendí – billu
+1, Buena captura - ¡parece que el problema fue la comprensión de 'clase' y 'objeto'! –