Maison >Java >javaDidacticiel >Importation statique Java
Java Static Import est un mécanisme qui permet d'utiliser directement un membre statique de n'importe quelle classe. Les éléments statiques d'une classe peuvent être facilement référencés dans le module sans qu'une autre qualification soit requise. Aucun nom de classe ou objet n'est nécessaire, et ces objets statiques peuvent être utilisés directement. C'est un bon moyen d'augmenter la lisibilité du code et d'améliorer la qualité du code. Il n'est pas conseillé d'utiliser l'importation statique sauf si cela est nécessaire.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
L'importation statique nous aide à utiliser directement les membres statiques de la classe. Cela rend tous les membres de la classe accessibles, ce qui permet d'utiliser les membres de cette classe sans mentionner le nom de la classe à plusieurs reprises. Le code ci-dessous est un exemple d'importation statique. Vous n'êtes pas obligé d'utiliser le module de la classe System qui est System.out. Au lieu de cela, vous pouvez directement faire référence à out.println dans le code, et ce programme s'exécutera avec succès car nous avons importé la classe System de manière statique.
import static java.lang.System.*; public class StaticImportInstance{ public static void main(String args[]){ out.println("Hi");//Now no need of System.out out.println("We are using Static Import"); } }
Voyons quelques exemples qui utilisent la fonctionnalité d'importation statique.
Importation statique de la classe Java Math intégrée.
Code :
import static java.lang.Math.PI; import static java.lang.Math.pow; public class HelloStaticWorld { public static void main(String[] args) { System.out.println("Hello, Let us get introduced to the Static Import World!"); System.out.println("Let us consider a circle with a diameter of 5 cm, it has"); System.out.println("a circumference of " + (Math.PI * 5) + " cm"); System.out.println("and the area of circle will be" + (Math.PI * Math.pow(2.5, 2)) + " sq. cm"); } }
Sortie :
Le programme ci-dessus importe la classe Math. Pour aller plus loin, il importe également les méthodes PI et POW de manière statique. Une fois ceux-ci utilisés de manière statique, nous n’aurons plus besoin de créer d’autres références ou objets dans notre programme. Nous pouvons facilement utiliser les classes importées. Nous avons utilisé Math.PI pour utiliser la valeur de PI et trouvé la circonférence du cercle. De plus, nous avons trouvé l'aire du cercle en utilisant à nouveau les méthodes PI et POW qui nous aident à trouver l'aire du cercle. Si vous vérifiez la capture d'écran, vous verrez la circonférence et l'aire d'un cercle s'afficher.
Importation de la classe Java Integer intégrée
Code :
import static java.lang.Integer.MAX_VALUE; import static java.lang.Integer.MIN_VALUE; public class StaticImportInteger { public static void main(String args[]) { //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java without using" + "static import : " + Integer.MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java without using" + "static import : " + Integer.MIN_VALUE); //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java with using" + "static import : " + MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java with using" + "static import : " + MIN_VALUE); } }
Sortie :
L'exemple ci-dessus importe la classe Integer de manière statique. Cela signifie que nous pouvons utiliser directement les méthodes de cette classe et les utiliser dans le programme sans autre référence. Nous trouvons d'abord le nombre maximum en entiers et le nombre minimum d'entiers là où nous n'utilisons pas l'importation statique et utilisons la fonction normale. Ici, nous utiliserons le nom de la classe, puis le nom de la fonction. Si vous voyez l'exemple, nous avons utilisé Integer.Min_Value et Integer.Max_Value. Dans le code qui suit, nous utilisons l'importation statique. Ici, si vous vérifiez, vous verrez que nous avons directement utilisé les méthodes MAX_VALUE et MIN_VALUE. Le résultat sera le même pour les deux. Cela nous indique qu'il existe deux manières d'utiliser différentes fonctions Java.
Ambiguïté lors de l'utilisation de l'importation statique
Code :
import static java.lang.Integer.*; import static java.lang.Long.*; public class HelloAmbiguity{ public static void main(String[] args) { System.out.println(MAX_VALUE); } }
Sortie :
Il peut y avoir une condition comme ci-dessus lorsque les membres statiques de la même classe sont importés. Lorsque cela se produit, le compilateur ne sait pas quel membre choisir. En conséquence, il se heurte à une ambiguïté lorsqu’il s’agit de membres d’une même classe. Dans l'exemple ci-dessus, la classe lang est importée deux fois. Les différents membres qu'il utilise sont Integer et Long. Lorsque la fonction principale est appelée, le compilateur ne sait pas quel membre choisir entre Integer et Long. Il ne sera pas en mesure de déterminer quel membre doit utiliser en l'absence d'un nom de classe spécifique. Par conséquent, cela génère une erreur, comme vous pouvez le voir dans la capture d’écran ci-dessus.
L'utilisation de la méthode statique présente de nombreux avantages. Pour n'en nommer que quelques-uns, vous pouvez voir ci-dessous :
La méthode d'importation statique est un moyen simple d'utiliser les membres de n'importe quelle classe sans créer de références pour cette classe. Lorsque nous importons la classe, nous pouvons directement utiliser ces méthodes. L'importation statique permet à l'utilisateur d'avoir un code qui nécessite moins de frappes et également un code qui sera plus efficace. Nous pouvons utiliser l'importation statique, mais il est conseillé de l'utiliser uniquement lorsque l'exigence le dit.
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!