Java Grundlagen

Werbung
Java Schulung
Objektorientierte Programmierung in Java
Prof. Dr. Nikolaus Wulff
Was ist Java?
„Java ist eine einfache, objektorientierte,
verteilte, interpretierte, robuste, sichere,
architekturneutrale, portable, performante,
dynamische Programmiersprache.”
Prof. Dr. Nikolaus Wulff
2
Was ist Java? Cont.
• Java ist
 sowohl eine rein objektorientierte Programmiersprache in der Tradition
von Smalltalk
 als auch eine klassische imperative Programmiersprache nach dem
Vorbild von C.
• Die Designer von Java bedienten sich sich beim Entwurf der Syntax
großzügig bei C/C++
 Entwickler aus diesem Umfeld können schnell umsteigen
 Im Detail unterscheidet sich Java aber recht deutlich von C++
 bestimmte, subtile Fehlerquellen, werden nicht zugelassen
• Java-Code kann in einem Web-Browser ablaufen
 Es bedarf keiner speziellen Frontend-Clients mehr
Prof. Dr. Nikolaus Wulff
3
Woher kommt Java?
• Java wurde von Sun Microsystems 1991 zur Software
Entwicklung für Verbraucherelektronikgeräte entwickelt.
• Mit Java wurde das Ziel verfolgt, eine Sprache zu entwickeln,
die klein, schnell, und leicht auf vielfältige Hardwaresysteme
portierbar ist.
• Diese Ziel machte aus Java eine ideale Sprache zur
 Verbreitung ausführbarer Programme über das WWW
 Entwicklung von Programmen, die bedienungsfreundlich und auf
verschiedene Plattformen portierbar sind.
• Durch die hohe Verbreitung und die vielen Zusatzpakete ist Java
die ideale objektorientierte Sprache, sowohl für Desktop- als
auch für Webprojekte.
Prof. Dr. Nikolaus Wulff
4
Woher kommt Java?
• Die syntaktische Seite:
– Java ist eine C/C++ artige Sprache.
– Java ist jedoch weder eine Ober- noch eine
Untermenge von C/C++.
• Die semantische Seite:
– Java bricht mit dem traditionellen, prozeduralen
Programmierstil.
– Java unterstützt ausschließlich den objektorientieren
Stil und knüpft an Sprachen wie Smalltalk oder Eiffel
an.
Prof. Dr. Nikolaus Wulff
5
Programmiersprachen
Assembler
1950
Cobol
Fortran
1960
PL/1
Algol
1970
Lisp
Simula
BCPL
Pascal
Smalltalk-72
CLU
C
beta
1980
C++
Smalltalk
Ada
Modula2
Lisp
CLOS
Eiffel
Turbo-Pascal
1990
2000
Lisp
Flavors
Smalltalk-76
Oberon
C#
Prof. Dr. Nikolaus Wulff
Java
Modula3
6
Vorteile von Java
• Java ist eine schlanke Sprache:
– Java ist einfacher als C/C++.
– Die Konzepte der Objektorientierung müssen jedoch
verstanden werden.
• Java Code ist portabel:
– Java ist standardisiert.
– Compilierter Code ist binärkompatibel und läuft auf
jeder Plattform mit Java Runtime.
• Java läuft im Web Browser und kann leicht über
das Netz verteilt werden.
Prof. Dr. Nikolaus Wulff
7
Nachteile von Java
• Java Code wird interpretiert:
– Java Code ist ~10 mal langsamer als C/C++.
– Dies ändert sich allerdings mit besseren JVM...
• Java ist eine junge Sprache:
– Mit jeder Version kommen neue Features
– GUI-Klassen aus AWT/Swing sind nicht immer und
überall stabil.
• Die Entwicklung der Java Pakete verläuft sehr
stürmisch, so dass es leicht ist den Überblick zu
verlieren.
Prof. Dr. Nikolaus Wulff
8
JDK Versionen
Name:
enthält
JDK 1.0
Vollständige Sprachspezifikation
Minimale Sprachbibliothek
Applets
JDK 1.1
Erweiterung der Standard-Bibliothek
Datenbankanbindung („JDBC“)
„Java-Beans“
Neues Event-Modell (Delegation)
JDK 1.2
Neue GUI-Komponenten (Swing), Collections
Serverseitiges Java (Servlets & Java Serverpages)
CORBA-Unterstützung
JDK 1.3
Integration verschiedener Frameworks
Steigerung der GUI-Performance
Seit JDK1.2 nennt sich die Entwicklungsumgegung „Java 2“
Prof. Dr. Nikolaus Wulff
9
Definition der Objektorientierung
• Objektorientierte Programmierung ist eine
Implementierungsmethode, bei der Programme als
kooperierende Ansammlungen von Objekten
angeordnet sind.
• Jedes Objekt stellt eine Instanz einer Klasse da, alle
Klassen sind Elemente einer Klassenhierarchie, die
durch Vererbungsbeziehungen gekennzeichnet sind.
Grady Booch (1994)
Prof. Dr. Nikolaus Wulff
10
Der Entwicklungsprozess
Source
A.java
B.java
C.java
Java Compiler
Byte Code
A.class
B.class
C.class
Java
Runtime
Prof. Dr. Nikolaus Wulff
11
Das erste Java Programm
• Ziel ist es den grundsätzlichen
Entwicklungsprozess kennenzulernen.
• Als Entwicklungsumgebung wird Eclipse
verwendet.
• Der Arbeitsplatz und die Pfade werden einheitlich
eingerichtet.
• Das „HelloWorld“ Programm wird erstellt und
ausgeführt.
Prof. Dr. Nikolaus Wulff
12
HelloWorld Projekt
• Eigenen Workspace einrichten:
– »JavaSchulung« als Wurzelverzeichnis
• mkdir c:\JavaSchulung
• Eclipse Workspace zuweisen:
• eclipse.exe -data c:\JavaSchulung
• Eclipse Projekt anlegen
• File | New | Project | Java Project | »HelloWorld«
• Als Quellordner »src« angeben (add Folder)
• Als Ausgabeordner »bin« akzeptieren
– Neues Paket »hello« anlegen
– Neue Klasse »HelloWorld« im Paket »hello«
Prof. Dr. Nikolaus Wulff
13
HelloWorld Eclipse
Prof. Dr. Nikolaus Wulff
14
HelloWorld.java
Eclipse-Workspace \ Projektname \ Source \ Package \ Klasse
C:\JavaSchulung\HelloWorld\src\hello\HelloWorld.java
package hello;
/**
* HelloWorld
* Das standard Beispiel in Java.
* @author nwulff
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
C:\JavaSchulung\HelloWorld\bin\hello\HelloWorld.class
Prof. Dr. Nikolaus Wulff
15
Literatur
Ken Arnold, James Gosling: Die Java Programmiersprache
Addison-Wesley, 1998, ISBN 3-8273-1034-2
[Von den Java Erfindern.]
Mari Campione, Kathy Walrath: Das Java Tutorial
Addison-Wesley, 1997, ISBN 3-8273-1050-4
[gute Einführung in die wesentlichen Bestandteile von Java]
David Flanagan: Java in a Nutshell
2nd Edition, O‘Reilly, 1997, ISBN 1-56592-262-x.
[Der Java-Nachschlage-Klassiker.]
James Gosling, Bill Joy, Guy Steele: The Java Language Specification
Addison-Wesley, 1996.
[Für die, die es genau wissen wollen.]
Prof. Dr. Nikolaus Wulff
16
Herunterladen