Java

Werbung
Teil 3 - Java
Grundlagen
Klassen, Attribute
Methoden
1
Java 2 - Geschichte
Ursprung:
„Green“-Project bei der Firma Sun Microsystems 1991
Entwicklung eines Systems mit folgenden Eigenschaften:
• hardwareunabhängig
• möglichst klein
Einsatzgebiet: Konsumgeräte, z.B. Umschalter für das
Kabelfernsehen
basierend auf C++ (objektorientiert) ohne dessen Schwierigkeiten
Name: zuerst OAK (Object Application Kernel), später Java
Durchbruch: Ende 1995, 1998 dann JAVA 2
2
Grundlagen der Programmierung II
DBIS - SS2006
Java 2 - Varianten
• Micro Edition (J2ME)
für eingebettete Systeme, PDAs, Smart Phones etc.
• Standard Edition (J2SE)
„normales“ JDK
• Enterprise Edition (J2EE)
EJBs, Servlets
Ab der Version Java 1.2 spricht man von Java 2!
Die zur Zeit neuste Version ist Java 1.5
und ist bekannt als Edition 5, ‘Tiger‘-Release.
Online:
Die Varianten können heruntergeladen werden unter:
http://java.sun.com
3
Grundlagen der Programmierung II
DBIS - SS2006
Plattformunabhängigkeit von Java
Erinnerung: Übliche Übersetzungsvorgänge bei Programmiersprachen
• Compiler (bei Modula-2, C usw.):
MODULE p;
VAR n,i:INTEGER;
BEGIN
FOR i:=1 TO n DO
n:=n*n;
END;
END p
Compiler
00010110010
11001001001
00001110001
11111000001
10101010100
11001100011
11001100111
11000111001
Ausführung
Ergebnis
Ausführung
Ergebnis Nr. i
Maschinencode
Programm (Quellcode)
• Interpreter (bei Basic, Lisp usw.):
10 INPUT n$
20 FOR i=1 TO 10
30 PRINT “Hi”,n$
40 NEXT
Anweisung Nr. i
4
Interpreterer
00010110010
11001001001
Maschinencode
Grundlagen der Programmierung II
DBIS - SS2006
Plattformunabhängigkeit von Java
Vorgehensweise bei Java
(Java Virtual Machine)
Ergebnis
JavaInterpreter
(i686-CPU)
class Dreieck extends GeoObj {
double seite,hoehe,alpha;
Dreieck(double s,
double h,
double a) {
this.seite=s;
this.hoehe=h;
this.alpha=a;}
double berechneFlaeche() {
return 0.5*seite*hoehe);}
}
Java Quellcode
Java
Compiler
JavaInterpreter
(Power PC)
Java Bytecode
(plattformunabhängig)
Ergebnis
JavaInterpreter
(SPARC)
Ergebnis
5
Grundlagen der Programmierung II
DBIS - SS2006
Plattformunabhängigkeit von Java
Eigenschaften der Java Virtual Machine
• Die Virtuelle Maschine ist eine Art „Universaltranslater“.
(vgl. mit Raumschiff Enterprise)
• Der Bytecode ist der „Maschinencode“ der Virtuellen Maschine.
Î von der Virtuellen Maschine direkt ausführbar
• Die Virtuelle Maschine ist für alle gängigen Systeme verfügbar.
(Windows, Solaris, Linux usw.)
• Die Virtuelle Maschine ist z.B. auch in WWW-Browsern integriert.
Î Einsatz von sog. „Applets“ möglich.
6
Grundlagen der Programmierung II
DBIS - SS2006
Arten von Java-Programmen
Applikationen:
• „normale“ Programme (vergleichbar mit anderen Sprachen wie Modula-2, C)
• eigenständig und ohne Sicherheitseinschränkungen
• Eine auszuführende Klasse muss eine main-Methode enthalten
• Aufruf durch den Java-Interpreter java
Applets:
• Java-Programme für den Einsatz in einem WWW-Browser
• Einbettung in eine HTML-Seite durch das <applet>- oder das <object>-Tag
• nicht eigenständig
• keine main-Methode erforderlich; spezielle Schnittstelle
• Sandbox-Prinzip / Sicherheitseinschränkungen
Server-Anwendungen:
• Servlets (Java Server Pages), Enterprise Java Beans
7
Grundlagen der Programmierung II
DBIS - SS2006
Programmstruktur:
Klassen, Methoden und Variablen
Struktur:
class className {
type variablenName = anfangswert ;
rückgabeWert methodenName(parameterListe){
}
}
Ein erstes Beispiel:
class Student {
int semester;
int getSemester() {
return semester;
}
8
Grundlagen der Programmierung II
DBIS - SS2006
Objekterzeugung und Methodenaufruf
Objekt student1 erzeugen:
Student student1 = new Student();
Methode aufrufen und Rückgabewert speichern:
int semanzahl = student1.getSemester();
Konstruktor:
Student() { … }
Student(int semester) { … }
9
Grundlagen der Programmierung II
DBIS - SS2006
Applikationen
Erster Schritt: Erstellen einer Klasse Hello (in einem Editor)
mit dem Namen „Hello.java“
class Hello {
public static void main(String args[]) {
System.out.println(“Hello Students!”);
}
}
Zweiter Schritt: Compilieren des Quellcodes
Aufruf: „javac Hello.java“
Ergebnis: autom. Erzeugen des Bytecodes „Hello.class“
Dritter Schritt: Evtl. Ausführen des Programms
ÎAufruf: „java Hello“ (Ausgeführt wird immer die main-Methode!)
Ausgabe: „Hello Students!“
10
Grundlagen der Programmierung II
DBIS - SS2006
Applets
Beispiel:
package simpleapplet;
import java.awt.Graphics;
class HelloWorld extends java.applet.Applet {
public void paint (Graphics g) {
g.drawString(“Hallo Welt!”, 10, 10);
}
}
11
Grundlagen der Programmierung II
DBIS - SS2006
Einbindung des Applet in HTML
<html>
<body>
<applet
codebase = "."
code
= "simpleapplet.HelloWorld.class"
width
= "400"
height
= "300"
>
</applet>
</body>
</html>
12
Grundlagen der Programmierung II
DBIS - SS2006
Ausführen des Applets
13
Grundlagen der Programmierung II
DBIS - SS2006
Java Entwicklungsumgebungen
Eine Entwicklungsumgebung (Integrated Development
Environment – IDE) hilft dem Entwickler beim Erstellen
und Debuggen von Programmen.
Beispiele für Java Entwicklungsumgebungen:
• Web Sphere von IBM (basiert auf Eclipse)
• JBuilder von Borland
• Sun ONE Studio von Sun Microsystems (ehemals
Forte)
• ... und viele mehr!
14
Grundlagen der Programmierung II
DBIS - SS2006
OpenSource: Eclipse 3.1
15
Grundlagen der Programmierung II
DBIS - SS2006
Eclipse
• Eclipse 3.0 oder 3.1 unter: www.eclipse.org
• PlugIn Omondo für UML www.omondo.de
16
Grundlagen der Programmierung II
DBIS - SS2006
Java - API - Dokumentation
http://java.sun.com/j2se/1.5.0/docs/api/
17
Grundlagen der Programmierung II
DBIS - SS2006
Java – API: Klasse Applet
18
Grundlagen der Programmierung II
DBIS - SS2006
Java – API: Klasse Applet
19
Grundlagen der Programmierung II
DBIS - SS2006
Java – API: Klasse Applet
20
Grundlagen der Programmierung II
DBIS - SS2006
Zugreifbarkeit auf Methoden und Variablen
private – nur innerhalb der Klasse
sichtbar und somit zugreifbar.
private
ohne – nur innerhalb des Pakets,
das die Deklaration der Klasse
enthält (Standardzugriffsrecht).
ohne
protected
public
protected – zugreifbar von
Methoden der eigenen Klasse, der
davon abgeleitete Klassen und von
Klassen im selben Paket.
Zugriffsmodifizierer
public – für Methoden aller
Klassen zugreifbar (welche die
Klasse importieren).
21
Grundlagen der Programmierung II
DBIS - SS2006
Literatur zu Java
• Java Homepage Sun: http://java.sun.com
• Java API Specification:
http://java.sun.com/j2se/1.5.0/docs/api/index.html
• Java Compiler JDK 5.0 und Virtuelle Maschine JRE 5.0:
http://java.sun.com/j2se/1.5.0/download.jsp
• Java Tutorial:
http://java.sun.com/developer/onlineTraining/new2java/index.html
• Horstmann, Cornell: "Core Java 2, Band 1", Addison-Wesley
• Java News: http://www.onjava.com/
• Reading: „Thinking in Java 3“ von Bruce Eckel !!!
22
Grundlagen der Programmierung II
DBIS - SS2006
Herunterladen