[Java] Syntaxe orientée objet --Package
Qu'est-ce qu'un package?
- ** Affiliation de classe / interface, etc. **
- ** Nom complet **: Un nom qui prend en compte l'espace de noms
- ** Déclaré avec les instructions sur l'emballage **
- Ecrire ** une seule fois ** au début du fichier
- Toutes les classes et interfaces suivantes appartiennent à ce package
- Le rôle du package
- ** Classer les types et identifier les noms **
- ** Classification fonctionnelle **
- java.text Package: Texte / Date / Classe de traitement numérique:
- package java.sql: classes liées à SQL
- ** Unité de contrôle d'accès **
- Vous pouvez masquer les informations inutiles de l'extérieur en définissant le package dans une unité appropriée.
Règles de dénomination
- ** La structure hiérarchique est représentée par «.» **
package com.example.neko.object;
- ** Nom du package défini sur une taille inférieure **
- Nom de classe facile à voir en majuscule
- Chaque élément hiérarchique du package (séparé par.) Et le nom simple de la classe / interface ** partagent le même espace de noms **
- ** Nommé en fonction du nom de domaine **
- Ajouter ** le préfixe du package dans l'ordre inverse du domaine Internet **
- Le domaine étant unique, le nom du package n'est pas en conflit
- ** La hiérarchie des packages et la hiérarchie du système de fichiers sont en correspondance **
Package par défaut
- ** Forfait anonyme **
- Si la déclaration de package est omise, les classes subordonnées appartiennent au package par défaut.
- Je veux l'éviter car il y a une possibilité de conflit de nom
Résolution de nom
- ** La commande d'importation ** peut être utilisée pour écrire des noms complets sous forme de noms simples
import com.example.neko.object.Animal;
Animal animal = new Animal();
- import importations ** informations de résolution de nom **
- Puisque le fichier de classe lui-même n'est pas importé, ** le fichier de classe ne devient pas gonflé **
- Même si la classe de destination d'importation est mise à jour ** Il n'est pas nécessaire de recompiler la classe source d'importation **
Type d'importation
-
** Importation de type unique **
-
** Importation à la demande **
-
Importez tous les types sous le package
-
Remarque: seuls les packages java.util sont importés, pas les packages tels que java.util.regex, java.util.stream, etc.
-
java.util et java.util.regex ont une relation plate l'un avec l'autre
-
Avantages de l'importation unique
-
** La résolution de nom a des priorités différentes **
-
Ordre préféré
-
- Le type actuellement défini dans le fichier
-
- Type d'importation unique
-
- Même type d'emballage
-
- Type d'importation à la demande
-
** Veillez à ne pas dupliquer le nom du type de bibliothèque standard lors de sa définition vous-même **
-
Facile à voir la relation entre la classe et le package
importation statique
- ʻImporter un nom complet statique`
- Vous pourrez abréger des types tels que des classes, des structures et des énumérations ainsi que des packages.
- Application simple avec des méthodes / constantes / classes de membres statiques fréquemment utilisées
import static java.lang.Math.abs;
//Toutes les méthodes statiques de la classe Math sont importées statiquement
//import static java.lang.Math.*;
public class ImportStatic {
public static void main(String[] args) {
System.out.println(abs(-10));
}
}