¿Qué significa public static void
en Java?
Estoy en proceso de aprendizaje. En todos los ejemplos del libro en el que estoy trabajando, "public static void" aparece antes de cualquier método que se utilice o cree. ¿Qué significa esto?
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 a la clase, no a una instancia específica (objeto) de esa clase. Esto significa que puedes 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 devolviera un int
se escribiría int
en lugar de void
.
La combinación de estos tres métodos se ve más comúnmente en el método main
que la mayoría de los tutoriales incluirán.
Las tres palabras tienen significados ortogonales.
public
significa que el método será visible desde las clases de otros paquetes.
static" significa que el método no está vinculado a una instancia específica, y no tiene "this". Es más o menos una función.
void
es el tipo de retorno. Significa que "este método no devuelve nada".
Significa que:
public
- se puede llamar desde cualquier lugarstatic
- no tiene ningún estado de objeto, por lo que se puede llamar sin instanciar un objetovoid
- no devuelve nadaSe podría pensar que la falta de retorno significa que no está haciendo mucho, pero podría estar guardando cosas en la base de datos, por ejemplo.