View
27
Download
0
Category
Preview:
DESCRIPTION
Packages. Vortrag : Cornelia Hardt 23. November 1999. Einleitung. Packages sind nützlich, um die Komplexität großer Programme in den Griff zu bekommen. Ein Package enthält eine Anzahl von Klassen, die irgendwie miteinander zusammenhängen. - PowerPoint PPT Presentation
Citation preview
Packages
Vortrag : Cornelia Hardt
23. November 1999
Einleitung
Packages sind nützlich, um die Komplexität großer Programme in den Griff zu bekommen.
Ein Package enthält eine Anzahl von Klassen, die irgendwie miteinander zusammenhängen.
Beispielsweise enthält das Bibliothekspackages java.awt Methoden zum Bereiteitstellen von Schaltflächen und zum Zeichnen grafischer Bilder.
So wie eine Klasse verwandte Daten und Methoden zusammenfaßt, faßt ein Package eine Gruppe von verwandter Klassen zusammen.
Vereinbarungen
Der Name eines Packages wird nach den selben Regeln wie Variablen-, Klassen- und Methodennamen vergeben.
Vereinbarungsgemäß beginnt der Name eines Packages mit einem Kleinbuchstaben.
Klassen, die ein Package bilden, stehen in einem eigenen Verzeichnis.
Der Verzeichnisname sollte der selbe wie der Packagename sein.
Der Packagename wird am Anfang aller Klassen in einer package-Anweisung festgelegt.
Beispiel: Stream
Sämtliche Klassen - writematrix, writeobject, readmatrix, readobject, readurl,testlinereader, copy, copyb, type, typeb - werden in ein package zusammengefaßt.
Alle Klassen werden in dem Verzeichnis dvg2/ioprogramme gespeichert.
Dann wird am Kopf jeder Klasse die Zeile : - package ioprogramme; ´eingefügt.
Beispiel
package ioprogramme;import java.io.*;
public class ReadObject{
public static void main (String [] args) throws IOException, ClassNotFoundException{ File inFile = new File("Object.dat");...
Programm zur Überprüfung ob es auch funktioniert:
import ioprogramme.*;import java.io.*;
public class test {
public static void main (String [] args) throws IOException{
//ioprogramme.type.main(args);type.main(args);
}}
Dieses Programm greift auf die main-Methode des Programmes type zu.
Dazu benötigt es im Kopf die Anweisung import. packagename ;
Es wird folgender Maßen aufgerufen werden: ...\dvg2>java test test.java
Das Programm type hat die Funktion des lesens einer Datei. Beim obigen Aufruf wird der Programmtext des Programms test ausgegeben.
Package und import
Wenn eine andere Klasse eine Klasse aus einem Package verwenden möchte, benötigt sie in ihrem Kopf die import-Anweisung. - import pName.Klassenname;
Wenn eine Klasse alle Klassen innerhalb des Packages verwenden muß, kann eine Kurzdeklaration gemacht werden. -import pName.* ;
Zusammenfassung
Verwandte Klassen werden in einem Package zusammengefaßt.
Ein Package-Name fängt mit einem Kleinbuchstaben an. Eine package-Anweisung im Kopf einer Klasse enthält den
Namen des Packages, dem die Klasse angehört. Alle Klassen eines Packages stehen im selben Verzeichnis,
aber in unterschiedlichen Dateien. Der Verzeichnisname sollte dem Package-Namen
entsprechen. (--> Dateiname entspricht Klassenname)
Einige Package des JDK
java.applet Enthält die Klasse Applet und drei Schnittstellen. Diesedienen als Schnittstellen zwischen einem Applet und demBrowser oder Appletviewer.
java.awt Enthält die GUI-Klassen sowie Klassen zum Laden vonGrafiken, Drucken und Ausgeben von grafischenElementen.
java.awt.event Behandlung von Ereignissen von AWT-Komponentennach dem neuen Event-Modell.
java.awt.image Klassen-und Schnittstellensammlung zur Bildbearbeitungjava.io Lesen und Schreiben von Daten.
java.lang Die klassen dieses Packages werden implizit in jede Java-Applikation und in jedes Applet eingebunden. Enthaltensind die Klasse Object, die Wurzel aller Klassen ist, undKlassen zum Erstellen und Verwalten von Threads sowiedie erweiterten Datentypen.
java.math Zwei Klassen mit erweiterten Möglichkeiten zurBerechnung von Zahlen. Normalerweise berechnet manZahlen mit Methoden aus java.lang.Math.
java.text Bestimmung und Formatieren von Zahlen, Zahlen-,Währungs- und Datumsformaten sowie Ermittlung vonTextbegrenzungen.
java.util Enthält Tools zum Umwandeln von Zahlen-,Währungs- undDatumsformaten, zum Erstellen von Datenstrukturen unddie Basisklassen zum Event-Handling.
Zugriffsrechte zu AttributenAttribut Wer hat Zugriff?
public Alle Objekte
private Nur das Objekt der Klasse in der das Attribute definiert ist
protected Nur Objekte abgeleiteter Klassen und von Klassen des selben Packages
Alle Objekte von Klassen die zum selben Package gehören
Package Anderes Package
Nicht-abgeleiteteKlasseAbgeleitete
Klasse
Abgeleitete Klasse
Nicht-
abgeleitete
Klasse
Klasse
private
public
none
protected
Packages importieren
set CLASSPATH=PATH1;PATH2;...PATHN; Im Programm:
import dir1.dir2...dirn.classname; Es wird das erste Class-File
PATH1\dir1\dir2\...\dirn\classname.classPATH2\dir1\dir2\...\dirn\classname.class...PATHN\dir1\dir2\...\dirn\classname.classimportiert das gefunden wird
Packages compilieren
Im Programm enthaltenpackage dir1.dir2...dirn;...class classname {
Übersetzungskommando:javac –d PATHI classname.java
Es wird das ClassfilePATHI\dir1\dir2\...\dirn\classname.classerzeugt
Recommended