Importausdruck: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
Mit dem [[Schlüsselwort]] <code>import</code> können in [[Java]] andere [[Klasse|Klassen]] in das aktuelle [[Programm]] eingebunden werden.
+
Mit dem [[Schlüsselwort]] '''import''' können in [[Java]] andere [[Klasse|Klassen]] in das aktuelle [[Programm]] eingebunden werden.
  
In Java wird jede [[Übersetzungseinheit]] zuerst unabhängig von anderen compiliert. Um jedoch die Funktionalität anderer Programme nutzen zu können, muss der [[Compiler]] wissen, dass diese existieren und ob sie im Quellcode richtig verwendet werden. Dazu gibt man dem Compiler im <code>import</code>-Ausdruck den Hinweis, wo er andere Übersetzungseinheiten finden kann. Dazu gibt man im Ausdruck den Paketpfad zur Klasse an.
+
In Java wird jede [[Übersetzungseinheit]] zuerst unabhängig von anderen compiliert. Um jedoch die Funktionalität anderer Programme nutzen zu können, muss der [[Compiler]] wissen, dass diese existieren und ob sie im Quellcode richtig verwendet werden. Dazu gibt man dem Compiler im '''import'''-Ausdruck den Hinweis, wo er andere Übersetzungseinheiten finden kann. Dazu gibt man im Ausdruck den Paketpfad zur Klasse an.
  
 
= Syntaxdiagramm =
 
= Syntaxdiagramm =
Zeile 7: Zeile 7:
 
[[Datei:import_statement.png]]
 
[[Datei:import_statement.png]]
  
Ein Importausdruck wird durch das [[Schlüsselwort]] <code>import</code> deklariert. Anschließend gibt man den Paketpfad zur Klasse in Form einer URL an. Das heißt die einzelnen Elemente des Pfades werden nicht durch '''/''', sondern durch '''.''' voneinander getrennt. Möchte man viele verschiedene Klassen aus dem selben [[Paket]] importieren, so kann man alternativ auch nur den Pfad zum Paket angeben und mit einem '''.*''' abschließen. Der '''*''' ist ein häufig verwendetes Symbol, das als Platzhalter dient.
+
Ein Importausdruck wird durch das [[Schlüsselwort]] '''import''' deklariert. Anschließend gibt man den Paketpfad zur Klasse in Form einer URL an. Das heißt die einzelnen Elemente des Pfades werden nicht durch '''/''', sondern durch '''.''' voneinander getrennt. Möchte man viele verschiedene Klassen aus dem selben [[Paket]] importieren, so kann man alternativ auch nur den Pfad zum Paket angeben und mit einem '''.*''' abschließen. Der '''*''' ist ein häufig verwendetes Symbol, das als Platzhalter dient.
  
Mit dem zusätzlichen Schlüsselwort <code>static</code> kann man einen sogenannten statischen Import durchführen. Dabei werden alle öffentlichen statischen Methoden und Klassenvariablen der importierten Klasse so behandelt, als seien sie Teil der importierenden Übersetzungseinheit. Das heißt, dass im Quellcode des importierenden Programms diese Methoden und Variablen nicht mehr mit <code>Klasse.methode()</code>, sondern nur mit <code>methode()</code> aufgerufen werden können.
+
Mit dem zusätzlichen Schlüsselwort '''static''' kann man einen sogenannten '''statischen Import''' durchführen. Dabei werden alle öffentlichen statischen Methoden und Klassenvariablen der importierten Klasse so behandelt, als seien sie Teil der importierenden Übersetzungseinheit. Das heißt, dass im Quellcode des importierenden Programms diese Methoden und Variablen nicht mehr mit <code>Klasse.methode()</code>, sondern nur mit <code>methode()</code> aufgerufen werden können.
  
 
= Beispiel =
 
= Beispiel =
Zeile 25: Zeile 25:
 
</source>
 
</source>
  
Ohne den <code>import</code>-Ausdruck in Zeile 3 würde der Compiler die Klasse ''Program'' aus dem anderen Paket nicht kennen und einen Fehler ausgeben.
+
Ohne den '''import'''-Ausdruck in Zeile 3 würde der Compiler die Klasse ''Program'' aus dem anderen Paket nicht kennen und einen Fehler ausgeben.

Version vom 26. Juli 2016, 15:36 Uhr

Mit dem Schlüsselwort import können in Java andere Klassen in das aktuelle Programm eingebunden werden.

In Java wird jede Übersetzungseinheit zuerst unabhängig von anderen compiliert. Um jedoch die Funktionalität anderer Programme nutzen zu können, muss der Compiler wissen, dass diese existieren und ob sie im Quellcode richtig verwendet werden. Dazu gibt man dem Compiler im import-Ausdruck den Hinweis, wo er andere Übersetzungseinheiten finden kann. Dazu gibt man im Ausdruck den Paketpfad zur Klasse an.

Syntaxdiagramm

Import statement.png

Ein Importausdruck wird durch das Schlüsselwort import deklariert. Anschließend gibt man den Paketpfad zur Klasse in Form einer URL an. Das heißt die einzelnen Elemente des Pfades werden nicht durch /, sondern durch . voneinander getrennt. Möchte man viele verschiedene Klassen aus dem selben Paket importieren, so kann man alternativ auch nur den Pfad zum Paket angeben und mit einem .* abschließen. Der * ist ein häufig verwendetes Symbol, das als Platzhalter dient.

Mit dem zusätzlichen Schlüsselwort static kann man einen sogenannten statischen Import durchführen. Dabei werden alle öffentlichen statischen Methoden und Klassenvariablen der importierten Klasse so behandelt, als seien sie Teil der importierenden Übersetzungseinheit. Das heißt, dass im Quellcode des importierenden Programms diese Methoden und Variablen nicht mehr mit Klasse.methode(), sondern nur mit methode() aufgerufen werden können.

Beispiel

package de.eini.blatt07;

import de.eini.blatt06.Program;

public class OtherProgram {
    public static void main(String[] args){
        Program.otherFunction();
    }
}

Ohne den import-Ausdruck in Zeile 3 würde der Compiler die Klasse Program aus dem anderen Paket nicht kennen und einen Fehler ausgeben.