Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/08/2009, 06:30
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: duda sobre public class

Como te he dicho el poner public o no poner nada para el método main() es opcional pero funcionan diferente.

Si tú metes tu clase con tu main() en un paquete de clases, si el main es public puedes acceder desde cualquier clase java con tal de que importes el paquete de clases correspondiente. Si no pones nada se convierte en protected y solo puedes acceder desde otras clases del mismo paquete.

Es como decir, publicas en un tablón de anuncios de un colegio que Fulanito está en 3ºA. Todos los que entran lo saben y pueden buscarlo ahí. Si no publicas nada solo los otros miembros de 3ºA saben que está allí y pueden buscarlo.

Ahora bien, si no está en ningún paquete de clases (package), debe ser siempre public, pq. si no lleva nada, como protected que es no hay madre que lo reconozca.

Ahora imagínate que estás en un bosque, si a la entrada hay un registro para los que entran y salen sabes que fulanito ha entrado y anda por allí, pero si no hay nada, por mucho que tú estés en ese bosque, te encuentras a alguien que no sabes quien demonios es y no puedes preguntarle si es fulanito por que no conoces quien es fulanito.

Esto me ha quedado un poco basto, así que igual conviene matizar.

Realmente las personas pueden preguntar y responder. Las clases java no funcionan de la misma manera. Lo que ocurre es que si es protected solo se "VE" si la clase se halla en el mismo paquete, como si todos los integrantes del paquete llevasen unas gafas especiales que les permitiesen unicamente a ellos conocer los nombres de los otros elementos... para que quede algo más claro.