• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

AYUDA Java SE, importar clases públicas

FuRRRaira

Nuevo
Registrado
13 Feb 2019
Mensajes
33
Puntos
8
Buenas,

Llevo unos tres meses estudiando Java SE y hay una duda que me ha surgido en más de una ocasión, pero no he conseguido aclararla de ninguna manera por más que busco.

Mi duda es la siguiente:

Tengo entendido que siempre que declaremos una clase como pública podremos acceder a ella desde cualquier clase del mismo proyecto.

Entonces, cuando nos encontramos en un paquete diferente dentro del mismo proyecto, ¿por qué no puedo utilizar las clases sin antes importarlas? si son accesibles (son públicas y nos encontramos en el mismo Proyecto), no entiendo por qué es necesario importarlas para poder utilizarlas.

Osea el término "accesible" me confunde, yo pensaba que por el hecho de que una clase pública sea "accesible" desde cualquier clase del mismo proyecto, entonces no haría falta importarla si me encuentro en un paquete diferente del mismo proyecto, pero sí es necesario importarla, ¿alguien me explica porfavor?

De antemano muchas gracias :ups:
 
Última edición:
Sé que mi duda es un tanto básica, y para resolver mis dudas debería tener mi propio tutor, pero no he pagado por ningún curso, estoy estudiando Java de una manera algo más complicada
(partiendo de un curso "gratuito" muy completo que encontré, me estudio también casi toda la información que encuentro e internet :starwars:, pero tengo claro que tengo que ir paso a paso desde lo más básico).

Es por eso que trataré de no causar mucha molestia con dudas "mediocres" como esta.

Estoy terminando de estudiarme toda la parte de fundamentos y programación con Java, y creo que no debo pasar por alto esta duda, me parece que sería catastrófico para mi aprendizaje.

¿Me echan una mano? Porfavor :cabezaloca:

Saludos,
F
 
Que alguien me corrija si me equivoco:

Que una clase sea pública significa que puede ser utilizada fuera del archivo en el que se creo. En caso contrario, si fuera privada, solo podrías utilizarla en el mismo archivo.

Cuando dos clases están en el mismo paquete se ven, pero si una de ellas es privada, no podrás usarla en la otra clase.

Dos clases en diferentes paquetes deben ser importadas (una clase a la otro proyecto) para que java entienda que estás permitiendo el uso de dicha clase en el paquete.
 
Gracias Saito_25. Creo que finalmente he dado con la clave, porfavor igualmente corríjanme si me equivoco.

Como bien dices: dentro de un mismo proyecto, cuando queremos utilizar una clase que pertenece a otro paquete tenemos que importarla (esto no quiere decir que no sea accesible; si podemos utilizarla, ya sea importándola o no, entonces es accesible).

Cuando se dice que una clase pública será accesible desde cualquier clase del mismo proyecto, quiere decir que dicha clase pública no será accesible desde clases que pertenezcan a otros proyectos, osea no podremos importar ni utilizar una clase pública desde otro proyecto.

¿Estoy en lo correcto?
 
Última edición:
Arriba