prev up inhalt next


2.6.1 Java

Die Programmiersprache Java wird seit 1990 von der Arbeitsgruppe Gosling bei der Firma Sun entwickelt. Als architekturunabhängige Sprache wird Java seit Aufkommen des World Wide Web als ideal geeignet für die Internetprogrammierung angesehen.

Java wird von Sun beschrieben als

Java hat für die Basis-Befehle die Syntax von C übernommen und diese dann um Konstrukte zur objektorientierten Programmierung erweitert. Im Unterschied zu C++, wo ANSI-C als echte Teilmenge in der Sprache enthalten ist, wurden in Java Sprachelemente entfernt, hinzugefügt und geändert.

Ein weiterer, wesentlicher Unterschied ist, daß Java eine vollständig objektorientierte Sprache ist und keine Mechanismen besitzt, um z.B. Funktionen unabhängig von Klassen und Objekten zu implementieren.

Außerdem benutzt Java keine Zeiger, also insbesondere auch keine Funktionszeiger. Da Java keine Strukturen besitzt und Felder und Zeichenketten Objekte sind, besteht kein Bedarf für Zeiger. Java übernimmt automatisch das Referenzieren und Dereferenzieren von Objekten. Java implementiert zusätzlich eine Garbage Collection zur Speicherverwaltung.

Ein Beispiel

Das folgende Beispiel zeigt ein einfaches Java-Programm: Hello World.

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
    }
Dieses Programm besteht, wie jedes Java-Programm, aus einer öffentlichen Definition. Die Klasse enthält eine Methode mit dem Namen main(), in der der Interpreter mit der Programmausführung beginnt.

Dieses Programm muß in einer Datei gespeichert werden, die den Namen der öffentlichen Klasse, gefolgt von der Erweiterung .java, besitzt. Die Übersetzung geschieht mit:

    sh% javac HelloWorld.java
Dieses Kommando erzeugt die Datei HelloWorld.class. Um das Programm ablaufen zu lassen, wird der Java-Interpreter benutzt:
    sh% java HelloWorld
Ein Programm in Java besteht im allgemeinen aus einer oder mehreren Klassendefinitionen, von denen jede in ihre eigene .class-Datei in Java Virtual Machine-Code übersetzt wird. Eine dieser Klassen muß eine main()-Methode definieren, in der das Programm seine Ausführung beginnt.

Der Java-Compiler erzeugt Bytecode statt direkten Maschinencode. Dieser Bytecode stellt ein architekturunabhängiges Objektdateiformat zur Verfügung, d.h., der Code ist dazu entworfen worden, Programme effizient auf verschiedene Plattformen zu transportieren. Ein Java-Programm kann auf jedem System laufen, das einen Java-Interpreter und ein Laufzeitsystem implementiert. Zusammengenommen implementieren beide die Java Virtual Machine.


prev up inhalt next