0
votes

Ne peut pas utiliser une méthode publique d'une autre classe de Java

J'essaie d'appeler un constructeur public d'une classe publique située dans un paquet de mon projet à partir de la classe principale, situé dans une classe d'un autre paquet différent du premier, mais situé dans le même projet.

J'ai compris que le modificateur public vous accordait d'accéder aux méthodes de n'importe quel emplacement à l'intérieur ou à l'extérieur du colis, donc j'essaie simplement de créer et d'insérer un nouvel objet de la classe publique d'abord mentionnée.

f.e: j'essaie quelque chose comme .... nom de classe newObject = nouveau nom de classe (); de la classe principale

En fait, afin de pouvoir utiliser cela (IM à l'aide de NetBeans IDE), je dois importer la classe / la méthode que je veux appeler, même si elles ont le modificateur public.

Ma question est ... Y a-t-il un moyen d'utiliser ces méthodes sans avoir besoin de les importer vers la classe principale?

Je suis nouveau dans cette page Web, désolé s'il y a quelque chose de mal à la question.


3 commentaires

Vous n'importez pas de méthodes. Pas clair ce que vous demandez.


Public = Classes Tous visibles pour tous .Package = paquet ou hiérarchie .default = visibilité du paquet. Privé = peut être utilisé uniquement par classe extérieure. S'il vous plaît vérifier les modificateurs d'accès


Voir Comment demander pour des conseils sur la mise en forme et la formulation d'une meilleure question


3 Réponses :


1
votes

Vous pouvez utiliser le nom de la classe entièrement qualifié à la place.

a.b.c.MyClass myClass = new a.b.c.MyClass();


0 commentaires

0
votes

Le compilateur Java restreint sa recherche de cours à l'intérieur du colis uniquement. Afin de tirer parti de toute classe appartenant à un autre paquet, vous devez l'importer explicitement. Vous pouvez en savoir plus sur les packages ici .

Les spécificateurs d'accès sont davantage de restreindre les méthodes d'être accessibles par le monde extérieur. Ces spécificateurs d'accès appliquent des restrictions supplémentaires au-dessus de ce qui est appliqué par des forfaits. Vous pouvez vous référer à Ce lien pour les spécificateurs d'accès.


0 commentaires

1
votes

qualification et visibilité ont peu à faire avec l'autre. Ce sont des concepts différents.

visibilité (appliquée par modificateurs d'accès comme public , protégé , privé et paquet-privé ) est à propos de laquelle la classe peut accéder (c.-à-d. Appeler ou utiliser) IT.

qualification concerne le compilateur vous demandant: "D'accord, vous mentionnez un nom de classe, mais il pourrait y avoir des milliers de personnes avec ce nom. Lequel tu veux dire?"


0 commentaires