Obwohl die Java-Sprache eine typische objektorientierte Programmiersprache ist, unterstützen die acht grundlegenden Datentypen keine objektorientierte Programmierung. Sie werden nur verwendet, um die tief verwurzelten Gewohnheiten der Menschen zu erfüllen, und können tatsächlich einfach und effektiv routinemäßige Datenverarbeitung durchführen.
Diese Praxis der Verwendung von nicht orientierter Technologie kann manchmal Unannehmlichkeiten verursachen. Die Objektklasse. Um dieses Problem zu lösen, entwirft Java entsprechende Klassen für jeden grundlegenden Datentyp, das als Wrapper -Klassen bezeichnet wird, und Lehrbücher werden auch als Overlay -Klassen oder Datentypklassen bezeichnet.
Jedes Wrapper -Objekt kann einen entsprechenden Grundtyp von Daten zusammenfassen und einige andere nützliche Methoden bereitstellen. Sobald ein Wrapper -Objekt erstellt wurde, kann der Inhalt (der eingekapselte grundlegende Datendatenwert) nicht geändert werden.
Die Grundtypen und entsprechenden Verpackungsklassen können durcheinander ersetzt werden:
Die Konvertierung von grundlegenden Typen zu entsprechenden Verpackungsklassen wird als Boxen bezeichnet, z. B. in ein Objekt der Ganzzahlklasse einwickelt.
Die Konvertierung der Wrapper -Klasse in den entsprechenden Basistyp wird als Unboxing bezeichnet, um beispielsweise die Objekte der Ganzzahlklasse wieder in INTs zu vereinfachen.
Verpackungsanwendungen
Die Verwendung von acht Verpackungsklassen ist relativ ähnlich und die folgenden Anwendungsszenarien.
1) Implementieren Sie die gegenseitige Konvertierung zwischen INT und Ganzzahl
Ganzzahl kann durch den Integer -Klasse -Konstruktor gebohrt werden und die Ganzzahl wird über die Integer -Klasse -IntValue -Methode nicht bezahlt. Zum Beispiel:
public class Demo {public void main (String [] args) {int m = 500; println ("n =" + n);
Auslaufergebnisse:
n = 500obj entspricht OBJ1? WAHR
2) Konvertieren Sie die Zeichenfolge in Ganzzahl
Die Ganzzahlklasse verfügt über eine statische PaseInt () -Methode, die Strings in Ganzzahlen umwandelt, mit der Syntax:
ParseInt (String S, int Radix);
S ist die String, die umgewandelt wird, Radix ist in binär, optional und standardmäßig für Dezimalzahl.
Der folgende Code zeigt Ihnen, welche Art von String in Ganzzahlen konvertiert werden kann:
öffentliche Klasse Demo {public static void main (String [] args) {String str [] = {"123", "123abc", "ABC123", "Abcxyz"}; = Integer.ParseInt (STR1, 10); ");}}}}
Auslaufergebnisse:
123 kann in Ganzzahl umgewandelt werden. 123123ABC kann nicht in Ganzzahl umgewandelt werden
3) Wandeln Sie Ganzzahlen in Saiten um
Die Ganzzahlklasse verfügt über eine statische Methode für toString (), die Ganzzahlen in Saiten umwandelt. Zum Beispiel:
public class Demo {public void main (String [] args) {int m = 500;
Auslaufergebnisse:
S = 500
Automatisches Unboxing und Packen
Alle oben genannten Beispiele erfordern eine manuelle Instanziierung einer Wrapper -Klasse, die als manuelles Unboxing bezeichnet wird. Java 1.5 (5.0) muss manuell nicht mehr entbinder sein.
Nach Java 1.5 kann es automatisch nicht enttäuscht werden, dh bei der Konvertierung grundlegender Datentypen und entsprechenden Verpackungsklassen wird das System automatisch durchgeführt, was das Schreiben von Programmierern erheblich erleichtert. Zum Beispiel:
Public Class Demo {public void main (String [] args) {int m = 500; );
Auslaufergebnisse:
n = 500obj entspricht OBJ1? WAHR
Das automatische Unboxing und Verpacken ist eine häufig verwendete Funktion, und die Leser müssen sich darauf konzentrieren.
Pakete können nicht nur Klassen, sondern auch Schnittstellen und andere Pakete enthalten.
Verzeichnis verwendet "/", um hierarchische Beziehungen wie e: /java/workspace/demo/bin/p1/p2/test.java darzustellen.
Das Paket verwendet "", um hierarchische Beziehungen darzustellen.
So implementieren Sie Pakete
Ein Paket kann zum Beispiel über das Keyword für Pakete deklariert werden:
Paket p1.p2;
Die Paketanweisung muss vor allen Aussagen platziert werden, zum Beispiel:
Paket p1.p2; public class test {public test () {System.out.println ("Ich bin der Konstruktor der Testklasse");
Zeigt an, dass sich die Testklasse im P1.p2 -Paket befindet.
Paketanruf
In Java gibt es zwei Möglichkeiten, Klassen in anderen Paketen anzurufen.
1) Fügen Sie den kompletten Paketnamen vor jedem Klassennamen hinzu
Programmbeispiel:
public class Demo {public void main (String [] args) {java.util.date Today = new Java.util.date ();
Auslaufergebnisse:
Mi 03. Dezember 11:20:13 CST 2014
2) Führen Sie die Klasse im Paket über die Import -Anweisung ein
Programmbeispiel:
Importieren Sie java.util.date; // Sie können auch alle Klassen im Java.util -Paket importieren // Java.util importieren. ();
Das Run -Ergebnis ist das gleiche wie oben.
In der tatsächlichen Programmierung müssen die Klasse nicht geschrieben werden, um alle Klassen in einem bestimmten Paket wie Java.Util einzutragen.*.
Klassenpfad
Beim Importieren einer Klasse müssen Sie den absoluten Weg der Klasse kennen.
Erstellen Sie zuerst Demo.java im E:/Java/Workspace/Demo/SRC/P0/Verzeichnis (E:/Java/Workspace/Demo/SRC/IS das Stammverzeichnis der Projektquellendatei) und geben Sie den folgenden Code ein:
Paket p0; import P1.p2.test; öffentliche Klasse Demo {public static void main (String [] args) {Test obj = new Test ();
Erstellen Sie dann test.java im Verzeichnis E:/Java/Workspace/Demo/SRC/P1/P2 und geben Sie den folgenden Code ein:
Paket p1.p2; public class test {public test () {System.out.println ("Ich bin der Konstruktor der Testklasse");
Angenommen, wir setzen die Variable der ClassPath -Umgebung auf.; Überprüfen Sie e:/java/ob die Datei test.java oder test.class im Arbeitsbereich/Demo/Src/P0/P1/P2/Verzeichnis vorhanden ist. /lib/p1/p2/Verzeichnis wird weiterhin abgerufen, wenn es in beiden Verzeichnissen keine Existenz gibt, wird ein Fehler gemeldet. Offensichtlich befindet sich test.java im E:/Java/Workspace/Demo/SRC/P1/P2/Verzeichnis, wenn der Compiler es nicht finden kann, einen Fehler.
Der Klassenpfad kann über die Klassenpfadoption des Javac -Befehls angegeben werden.
Öffnen Sie CMD, geben Sie das Verzeichnis ein, in dem sich die Demo.java -Datei befindet, den Befehl javac ausführen und den Klassenpfad auf e:/java/wortspace/deMo/src festlegen, wie in der folgenden Abbildung gezeigt:
Wenn Sie ein Java -Programm ausführen, müssen Sie auch den absoluten Pfad der Klasse kennen. unten:
Beachten Sie den Unterschied zwischen Java -Befehlen und Javac -Befehlen.
Auf diese Weise ist dies zu verstehen, dass Javac ein Plattformbefehl ist, der auf bestimmten Plattformdateien arbeitet und den kompilierten Dateipfad angibt. Java ist ein Befehl Virtual Machine, der gepunktete Beschreibung Formular für Klassenoperationen verwendet. Die Beschreibung der Klasse muss in gepunkteter Form beschrieben werden und keine Erweiterungen hinzufügen und auf den Fall des Klassennamens achten.
Diese Befehle sind sehr kompliziert, und die tatsächliche Entwicklung erfordert die Hilfe von Eclipse, was sehr bequem ist, Pakete zu verwalten und Programme unter Eclipse zu kompilieren und auszuführen. Eclipse führt diese Befehle tatsächlich aus.
Zugriffsberechtigungen für Pakete zugreifen
Klassen, Methoden oder Mitgliedsvariablen, die als öffentlich deklariert werden, können von einer beliebigen Klasse unter jedem Paket verwendet werden, während Klassen, Methoden oder Mitgliedsvariablen, die als privat deklariert sind, nur von dieser Klasse verwendet werden können.
Klassen, Methoden und Mitgliedsvariablen ohne Modifikatoren können nur von allen Klassen in diesem Paket zugegriffen werden, und keine Klasse außerhalb des Pakets kann darauf zugreifen.