Lorsqu'il est utilisé comme ceci:
import static com.showboy.Myclass;
public class Anotherclass{}
quelle est la différence entre import static com.showboy.Myclass
et import com.showboy.Myclass
?
Lorsqu'il est utilisé comme ceci:
import static com.showboy.Myclass;
public class Anotherclass{}
quelle est la différence entre import static com.showboy.Myclass
et import com.showboy.Myclass
?
Voir documentation
La déclaration d'importation statique est analogue à la déclaration d'importation normale. Lorsque la déclaration d'importation normale importe des classes à partir de packages, ce qui permet leur utilisation sans qualification de package, la déclaration d'importation statique importe des membres statiques à partir de classes, ce qui permet de les utiliser sans qualification de classe.
Alors, quand devez-vous utiliser l'importation statique? Avec parcimonie! Utilisez-le uniquement lorsque vous seriez autrement tenté de déclarer des copies locales des constantes ou d'abuser de l'héritage (le Constant Interface Antipattern). En d'autres termes, utilisez-le lorsque vous avez besoin d'un accès fréquent à des membres statiques d'une ou deux classes. Si vous abusez de la fonction d'importation statique, elle peut rendre votre programme illisible et impossible à maintenir, polluant son espace de noms avec tous les membres statiques que vous importez. Les lecteurs de votre code (y compris vous, quelques mois après l'avoir écrit) ne sauront pas de quelle classe provient un membre statique. L'importation de tous les membres statiques d'une classe peut être particulièrement préjudiciable à la lisibilité; si vous n'avez besoin que d'un ou deux membres, importez-les individuellement. Utilisé de manière appropriée, l'importation statique peut rendre votre programme plus lisible,
include
dans Ruby!Il n'y a aucune différence entre ces deux importations que vous déclarez. Vous pouvez cependant utiliser l'importation statique pour autoriser un accès sans réserve aux membres statiques d'autres classes. Où je devais faire ça:
Je peux le faire:
Vous pouvez en voir plus dans la documentation .
la source
L'importation statique est utilisée pour importer des champs / méthodes statiques d'une classe au lieu de:
Tu peux écrire :
Il est utile si vous utilisez souvent une constante d'une autre classe dans votre code et si l'importation statique n'est pas ambiguë.
Btw, dans votre exemple "import statique org.example.Myclass;" ne fonctionnera pas: l'importation est pour la classe, l'importation statique est pour les membres statiques d'une classe.
la source
L'idée de base de l'importation statique est que chaque fois que vous utilisez une classe statique, une variable statique ou une énumération, vous pouvez les importer et vous épargner de la frappe.
Je vais développer mon point avec exemple.
Même code, avec des importations statiques:
Remarque : l'importation statique peut rendre votre code confus à lire.
la source
import static java.lang.Math
sans l'astérisque?Le premier doit générer une erreur de compilation car l'importation statique ne fonctionne que pour l'importation de champs ou de types de membres. (en supposant que MyClass n'est pas une classe interne ou un membre de showboy)
Je pense que tu voulais dire
ce qui rend tous les champs statiques et les membres de MyClass disponibles dans l'unité de compilation réelle sans avoir à les qualifier ... comme expliqué ci-dessus
la source
Le
import
permet au programmeur java d'accéder aux classes d'un package sans qualification de package.La
static import
fonctionnalité permet d'accéder aux membres statiques d'une classe sans qualification de classe.Le
import
fournit l'accessibilité aux classes et à l'interface tandis qu'ilstatic import
fournit l'accessibilité aux membres statiques de la classe.Exemple :
Avec importation
Avec importation statique
Voir aussi: Qu'est-ce que l'importation statique dans Java 5
la source
Supposons que vous ayez des champs et des méthodes statiques dans une classe appelée à l'
MyClass
intérieur d'un package appelémyPackage
et que vous souhaitez y accéder directement en tapantmyStaticField
oumyStaticMethod
sans taper à chaque foisMyClass.myStaticField
ouMyClass.myStaticMethod
.Remarque: vous devez faire un
import myPackage.MyClass
oumyPackage.*
pour accéder aux autres ressourcesla source
Le
static
modificateur aprèsimport
sert à récupérer / utiliser les champs statiques d'une classe. Un domaine dans lequel j'utiliseimport static
est de récupérer des constantes d'une classe. Nous pouvons également appliquerimport static
des méthodes statiques. Assurez-vous de taperimport static
carstatic import
c'est faux.Ce qui est
static import
en Java - JavaRevisited - Une très bonne ressource pour en savoir plusimport static
.la source