Qu'est-ce que l'import statique en Java ?
Avec importation statique
Avec l'aide de l'importation statique, nous pouvons accéder directement aux membres statiques. Il n'est pas nécessaire d'utiliser un membre statique avec le nom de la classe.
L'importation statique n'est pas recommandée car elle réduit la lisibilité du code.
Syntaxe
import static packagename.classname.object(optional);
Exemple (avec importation statique) :
import static java.lang.System.out; class StaticImport{ static String s = "My Name is Preeti Jain"; public static void main(String[] args){ out.println("Length of the string is " + StaticImport.s.length()); } }
Sortie
D:\Java Articles>java StaticImport Length of the string is 22
Sans importation statique
Sans l'aide de l'importation statique, nous pouvons accéder aux membres statiques avec le nom de classe. Il est nécessaire d'utiliser un membre statique avec le nom de la classe.
Sans importation statique est recommandé car cela améliore la lisibilité du code.
Syntaxe :
import packagename.classname.object(optional);
Cas 1 :Sans importation statique
class WithoutStaticImport{ static String s = "My Name is Preeti Jain"; public static void main(String[] args){ out.println("Length of the string is " + WithoutStaticImport.s.length()); } }
Sortie
D:\Java Articles>javac WithoutStaticImport.java WithoutStaticImport.java:8: error: cannot findsymbol out.println("Length of the string is " + WithoutStaticImport.s.length()) ; ^ symbol: variable out location: class WithoutStaticImport 1 error
Dans l'exemple ci-dessus, nous obtiendrons une erreur de temps de compilation simplement parce que nous utilisons un objet statique sans importation statique. Pour résoudre ce problème, nous avons deux options, l'une consiste à utiliser l'importation statique et l'autre consiste à utiliser l'objet avec le nom de classe.
Cas 2 :Utiliser un objet statique avec un nom de classe sans importation statique
class WithoutStaticImport1{ static String s = "My Name is Preeti Jain"; public static void main(String[] args){ System.out.println("Length of the string is " + WithoutStaticImport1.s.length()); } }
Sortie
D:\Java Articles>java WithoutStaticImport1 Length of the string is 22