Vamos a ver los modificadores de acceso de Java. Hay diferentes modificadores: private
, sin modificador, protected
, public
, y por último uno diferente a todos estos, static
.
Son palabras clave que se utilizan para controlar qué partes del código pueden acceder a los miembros de una clase (fields, métodos, constructores).
private
El miembro solo es accesible dentro de la clase en la que se define. De ninguna manera se puede acceder desde fuera.
En nuestro ejemplo de Vehicle
, podríamos poner como privados nuestros fields.
Sin modificador
El miembro es accesible dentro de la misma clase, y en otras clases dentro del mismo package
.
En el ejemplo de Vehicle
, este era nuestro error. Al no poner modificador, no podíamos acceder desde Main
porque no estaban en el mismo package
.
protected
El miembro es accesible dentro de la misma clase, en otras clases dentro del mismo package
, y en clases que hereden de esta.
Ahora no nos será útil, porque no hemos hablado de herencia de clase, así que más adelante lo veremos.
public
El miembro es accesible desde cualquier parte del código.
Para poder instanciar nuestra clase Vehicle
, y acceder a sus métodos, los haremos públicos:
static
El modificador static
tiene una funcionalidad totalmente diferente. Un miembro static
pertenece a la clase en sí, no a un objeto individual. Esto significa que no hace falta instanciar la clase para acceder a ese miembro.
El método main
en Main
es estático, con lo cual no hace falta instanciar Main
para llamar al método main
.