7
votes

Comment puis-je avoir une variable constante commune à toutes les classes dans un paquet?

Je veux qu'une variable constante soit courante à toutes les classes dans un paquet. Y a-t-il une manière que je puisse faire cela sans faire une interface juste avec la définition d'une manière, et que chaque classe implémente cela?


0 commentaires

7 Réponses :


0
votes

semble être un bon candidat pour une entrée dans un fichier de propriété.


0 commentaires

0
votes

Vous pouvez utiliser une classe abstraite pour servir de classe de base pour chacune des implications dans cet emballage.


0 commentaires

9
votes

en Java, toutes les constantes doivent résider dans un type (classe ou interface). Mais vous n'avez pas à mettre en place une interface pour utiliser une constante déclarée à l'intérieur.

Vous pouvez essayer en mettant quelque chose comme celui-ci dans votre colis: P>

String myVar = Constants.CONSTANT;


5 commentaires

Chaque déclaration de champ dans le corps d'une interface est implicitement publique, statique et finale.


Java efficace, élément 19 "Utiliser des interfaces uniquement pour définir des types" recommande explicitement contre cet usage d'interfaces. Utilisez des cours pour les constantes ou les énums, si possible


@Seanizer, pouvez-vous s'il vous plaît envoyez-moi que PDF mon identifiant de messagerie est là avec mon profil.


@olj Désolé, n'ai eu aucune édition PDF. Mais vous pouvez parfois en trouver un en ligne via Google.Vous devez-y obtenir le livre, cependant. ça vaut bien l'argent.


@Seanizer je l'ai téléchargé. Merci.



0
votes

Vous pouvez créer une classe spéciale (statique) avec juste cette variable. Plus tard, vous pouvez ajouter d'autres constantes ou tout ce que vous avez besoin de cette classe.


0 commentaires

5
votes

Généralement, les applications ont une classe ou une interface "constantes" qui détient toutes les constantes.

I Généralement pour regrouper des constantes dans des classes logiques. Par exemple, s'il peut y avoir deux types d'employés, réguliers et contrat: p> xxx pré>

et l'utiliser comme Employeeype.regular code> p>

Si les constantes ne peuvent pas être regroupées de cette façon, disposez d'une classe / interface distincte pour les contenir. P>

class Constants
{
   public static final String APPLICATION_DOMAIN = 'domain';
}


0 commentaires

2
votes

Utilisez un package Classe privée:

int val = Constants.MY_VALUE;


0 commentaires

1
votes

Vous pouvez le faire de différentes manières:

  • Un moyen (comme mentionné ici) est de créer une interface constante globale et d'avoir un Dernière finale statique publique Attributs de chaque constance.`
  • créer un fichier de propriétés. En ayant un fichier de propriétés, vous aurez une paire de valeurs de clé (séparée par un = opérateur) déclarée sur une nouvelle ligne. Voici un Tutoriel sur la façon de créer et utiliser le fichier de propriétés.

0 commentaires