David
Que hace public static void
significa en Java?
Estoy en proceso de aprendizaje. En todos los ejemplos del libro en el que estoy trabajando public static void
viene antes de cualquier método que se esté usando o creando. ¿Qué significa esto?
marca byers
Son tres cosas completamente diferentes:
public
significa que el método es visible y puede ser llamado desde otros objetos de otros tipos. Otras alternativas son private
, protected
, package
y package-private
. Ver aquí para más detalles.
static
significa que el método está asociado con la clase, no con una instancia específica (objeto) de esa clase. Esto significa que puede llamar a un método estático sin crear un objeto de la clase.
void
significa que el método no tiene valor de retorno. Si el método devuelve un int
tu escribirias int
en vez de void
.
La combinación de los tres se ve más comúnmente en el main
método que incluirán la mayoría de los tutoriales.
-
Dado que el interrogador aún está aprendiendo: el orden de estas palabras clave también es importante. Todos los modificadores primero (
public
,static
,private
etc.), luego el tipo de retorno (void
en este caso).– Pindatjuh
5 de marzo de 2010 a las 21:34
-
@markbyres ok, entiendo tu respuesta, sé que el método principal debe ser estático, pero no tengo idea de por qué es público. hay alguna razon en especifico para eso??
– hardik
16 de marzo de 2012 a las 5:17
-
el entorno de tiempo de ejecución de Java debe llamar al método principal para iniciar su aplicación. no podía hacer eso cuando era privado.
– Felipe
4 sep 2012 a las 20:44
Las tres palabras tienen significados ortogonales.
public
significa que el método será visible desde las clases en otros paquetes.
static
significa que el método no está adjunto a una instancia específica y no tiene “this
“. Es más o menos una función.
void
es el tipo de retorno. Significa “este método no devuelve nada”.
utsav
los público palabra clave es un especificador de acceso, que permite al programador controlar la visibilidad de los miembros de la clase. Cuando un miembro de clase está precedido por public, entonces se puede acceder a ese miembro mediante un código fuera de la clase en la que se declara. (Lo contrario de público es privado, lo que evita que un código definido fuera de su clase use un miembro).
En este caso, main( )
debe declararse como public, ya que debe ser llamado por código fuera de su clase cuando se inicia el programa.
la palabra clave estático permite main( )
para ser llamado sin tener que instanciar una instancia particular de la clase. Esto es necesario ya que main( )
es llamado por el intérprete de Java antes de que se creen los objetos.
la palabra clave vacío simplemente le dice al compilador que main( )
no devuelve un valor. Como verá, los métodos también pueden devolver valores.
pablo tomblin
Esto significa que:
public
– se puede llamar desde cualquier lugarstatic
– no tiene ningún estado de objeto, por lo que puede llamarlo sin instanciar un objetovoid
– no devuelve nada
Uno pensaría que la falta de devolución significa que no está haciendo mucho, pero podría estar guardando cosas en la base de datos, por ejemplo.
Aarón
Significa tres cosas.
Primero public
significa que cualquier otro objeto puede acceder a él.
static
significa que la clase en la que reside no tiene que ser instanciada primero antes de que se pueda llamar a la función.
void
significa que la función no devuelve un valor.
Ya que solo está aprendiendo, no se preocupe demasiado por los dos primeros hasta que aprenda sobre las clases, y el tercero no importará mucho hasta que comience a escribir funciones (aparte de main).
El mejor consejo que recibí cuando estaba aprendiendo a programar, y que les transmito, es que no se preocupen por los pequeños detalles que no entienden de inmediato. Obtenga una descripción general amplia de los fundamentos, luego regrese y preocúpese por los detalles. La razón es que tienes que usar algunas cosas (como public static void
) en sus primeros programas que realmente no se pueden explicar bien sin enseñarle primero un montón de otras cosas. Así que, por el momento, acepta que así es como se hace y sigue adelante. Los comprenderás en breve.
Gilles ‘SO- deja de ser malvado’
Teniendo en cuenta la típica clase de nivel superior. Solo se pueden usar modificadores de acceso público y sin modificador en el nivel superior, por lo que verá público o no verá ningún modificador de acceso en absoluto.
`static“ se usa porque es posible que no tenga la necesidad de crear un objeto real en el nivel superior (pero a veces querrá hacerlo, por lo que es posible que no siempre vea / use static. Hay otras razones por las que no incluiría static también, pero este es el típico en el nivel superior).
void
se usa porque normalmente no va a devolver un valor del nivel superior (clase). (a veces querrá devolver un valor que no sea NULL
por lo tanto, es posible que void no siempre se use, especialmente en el caso de que haya declarado, inicializado un objeto en el nivel superior al que está asignando algún valor).
Descargo de responsabilidad:
Yo mismo soy un novato, así que si esta respuesta es incorrecta de alguna manera, no me cuelgue. Durante el día soy un reclutador de tecnología, no un desarrollador; La codificación es mi hobby. Además, siempre estoy abierto a las críticas constructivas y me encanta aprender, así que siéntete libre de señalar cualquier error.
usuario3344876
Public
– significa que la clase (programa) está disponible para que la use cualquier otra clase.
Static
– crea una clase. También se puede aplicar a variables y métodos, convirtiéndolos en métodos/variables de clase en lugar de solo locales para una instancia particular de la clase.
Void
– esto significa que no se devuelve ningún producto cuando la clase completa el procesamiento. Compare esto con las clases auxiliares que proporcionan un valor de retorno a la clase principal, estas funcionan como funciones; estos no tienen nulidad en la declaración.