[Java] Objektorientierte Syntax --Paket
Was ist ein Paket?
- ** Zugehörigkeit zu Klasse / Schnittstelle usw. **
- ** Vollqualifizierter Name **: Ein Name, der den Namespace berücksichtigt
- ** Mit Paketanweisung deklariert **
- Schreibe ** nur einmal ** am Anfang der Datei
- Alle nachfolgenden Klassen und Schnittstellen gehören zu diesem Paket
- Die Rolle des Pakets
- ** Typen klassifizieren und Namen identifizieren **
- ** Funktionsklassifizierung **
- java.text Paket: Text / Datum / Numerische Verarbeitungsklasse:
- java.sql-Paket: SQL-bezogene Klassen
- ** Zugangskontrolleinheit **
- Sie können unnötige Informationen von außen verbergen, indem Sie das Paket in einer geeigneten Einheit definieren.
Namensregeln
- ** Hierarchische Struktur wird durch
.
** dargestellt
package com.example.neko.object;
- ** Paketname auf niedrigere Größe eingestellt **
- Leicht zu erkennender Klassenname in der oberen Hauptstadt
- Jedes hierarchische Element des Pakets (getrennt durch.) Und der einfache Name der Klasse / Schnittstelle ** haben denselben Namespace **
- ** Benannt nach Domainname **
- ** Paketpräfix in umgekehrter Reihenfolge der Internetdomäne hinzufügen **
- Da die Domain eindeutig ist, steht der Paketname nicht in Konflikt
- ** Pakethierarchie und Dateisystemhierarchie stimmen überein **
Standardpaket
- ** Anonymes Paket **
- Wenn die Paketdeklaration weggelassen wird, gehören die untergeordneten Klassen zum Standardpaket.
- Ich möchte dies vermeiden, da die Möglichkeit eines Namenskonflikts besteht
Namensauflösung
- ** Importbefehl ** kann verwendet werden, um vollständig qualifizierte Namen als einfache Namen zu schreiben
import com.example.neko.object.Animal;
Animal animal = new Animal();
- Importe importieren ** Informationen zur Namensauflösung **
- Da die Klassendatei selbst nicht importiert wird, ** wird die Klassendatei nicht aufgebläht **
- Auch wenn die Importzielklasse aktualisiert wird ** Die Importquellklasse muss nicht neu kompiliert werden **
Typ importieren
-
** Single Type Import **
-
** On-Demand-Import **
-
Importieren Sie alle Typen unter das Paket
-
Hinweis: Es werden nur java.util-Pakete importiert, keine Pakete wie java.util.regex, java.util.stream usw.
-
java.util und java.util.regex haben eine flache Beziehung zueinander
-
Vorteile des Einzelimports
-
** Namensauflösung hat unterschiedliche Prioritäten **
-
Bevorzugte Bestellung
-
- Der aktuell in der Datei definierte Typ
-
- Einzelimporttyp
-
- Gleicher Pakettyp
-
- On-Demand-Importtyp
-
** Achten Sie darauf, den Standardnamen des Bibliothekstyps nicht zu duplizieren, wenn Sie ihn selbst definieren **
-
Die Beziehung zwischen Klasse und Paket ist leicht zu erkennen
statischer Import
statischen vollqualifizierten Namen importieren
- Sie können Typen wie Klassen, Strukturen und Aufzählungen sowie Pakete abkürzen.
- Einfache Anwendung mit häufig verwendeten statischen Methoden / Konstanten / statischen Elementklassen
import static java.lang.Math.abs;
//Alle statischen Methoden unter der Math-Klasse werden statisch importiert
//import static java.lang.Math.*;
public class ImportStatic {
public static void main(String[] args) {
System.out.println(abs(-10));
}
}