Maison >Java >javaDidacticiel >Comment puis-je accéder à un objet de package par défaut à partir d'un package Java nommé ?

Comment puis-je accéder à un objet de package par défaut à partir d'un package Java nommé ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 10:49:10884parcourir

How Can I Access a Default Package Object from a Named Java Package?

Accès aux classes Java dans le package par défaut à partir de packages nommés

Dans un projet collaboratif Grails, accès à un objet créé par Groovy dans le package par défaut à partir d'une classe Java dans un package nommé peut poser un défi.

Question : Est-ce que existe-t-il un moyen d'accéder à cet objet de package par défaut à partir d'une classe Java empaquetée ?

Réponse :

L'accès aux classes du package par défaut à partir de packages nommés n'est généralement pas possible.

Avant Java 2 Standard Edition (J2SE) 1.4, il était permis d'importer des classes à partir du package par défaut en utilisant la syntaxe import Unfinished;. Cependant, cette pratique n'est plus autorisée.

Pour accéder à une classe de package par défaut à partir d'une classe packagée, vous devez déplacer la classe de package par défaut dans un package nommé. Cela implique :

  1. Identifier le code source généré par Groovy.
  2. Post-traiter le code pour déplacer le fichier du package par défaut dans un package dédié.
  3. Ajouter le Directive "package" au début du fichier.

Remarque : En Java Kit de développement (JDK) 7 et 8, l'importation à partir de packages sans nom est strictement interdite (bug 6975015). La condition suivante doit être remplie pour une compilation réussie :

  • Le nom du type doit faire référence à une classe, une interface, une énumération ou un type d'annotation dans un package nommé.
  • Si le type est pas directement dans un package nommé, son type englobant le plus externe doit être dans un package nommé.

Contexte : Le Le package par défaut existe pour faciliter le développement de petites applications, temporaires ou initiales. L'accès aux classes de packages par défaut à partir de packages nommés va à l'encontre des principes de conception d'encapsulation et de modularité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn