Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
software:java:start [2010-10-15 15:03] zueger1software:java:start [2013-06-21 13:09] zueger1
Zeile 1: Zeile 1:
 ====== Java ====== ====== Java ======
-{{  .:java-logo.png?120px&nolink|Java-Logo}}+ 
 +<box 30% right green | QuickLinks> 
 +  * [[software:programmierrichtlinien:java | Programmierrichtlinien]] 
 +  * [[http://download.oracle.com/javase/6/docs/api/ | Java-API Beschreibung]] 
 +  * [[software:eclipse:java_projekt_anlegen | Hello World in Java mit Eclipse]] 
 +</box> 
 **Java** ist eine objektorientierte Programmiersprache welche in den 90iger-Jahren von der Firma Sun Microsystems entworfern wurde. Sie ist Bestandteil der Java-Technologie und wird an der NTB als primäre Programmiersprache in der Lehre verwendet. **Java** ist eine objektorientierte Programmiersprache welche in den 90iger-Jahren von der Firma Sun Microsystems entworfern wurde. Sie ist Bestandteil der Java-Technologie und wird an der NTB als primäre Programmiersprache in der Lehre verwendet.
  
Zeile 8: Zeile 14:
  
 ===== Eigenschaften und Merkmale ===== ===== Eigenschaften und Merkmale =====
-Java wurde mit dem Ziel entworfen, im Vergleich zu anderen objektorientierten Programmiersprachen einfach zu sein. Dazu wurde der Sprachumfang im Vergleich zu C++ reduzierten. So besitzt Java beispielsweise //Operator Overloading//, keine //Pointer// und auch //Mehrfachvererbung// wird nicht unterstützt. Dennoch wurde die Syntax in vielen Bereichen an C++ angelehnt, so dass das ein Umstieg einfacher wird. Im Gegensatz zu C++ oder Smalltalk wird in Java explizit zwischen Schnittstellen und Klassen unterschieden. Da eine Klasse zwar nicht von mehreren Basisklassen erben kann, aber beliebig viele Interfaces implementieren kann, können die meisten der entsprechenden Probleme trotzdem elegant gelöst werden. Dabei ist jedoch zu beachten, dass Schnittstellen nur die Methodensignaturen an die implementierende Klasse weitergeben können, nicht jedoch Attribute oder bereits implementierte Methoden.+{{  .:java-logo.png?120px&nolink|Java-Logo}} 
 +Java wurde mit dem Ziel entworfen, im Vergleich zu anderen objektorientierten Programmiersprachen einfach zu sein. Dazu wurde der Sprachumfang im Vergleich zu C++ reduzierten. So besitzt Java beispielsweise kein //Operator Overloading//, keine //Pointer// und auch //Mehrfachvererbung// wird nicht unterstützt. Dennoch wurde die Syntax in vielen Bereichen an C++ angelehnt, so dass das ein Umstieg einfacher wird. Im Gegensatz zu C++ oder Smalltalk wird in Java explizit zwischen Schnittstellen und Klassen unterschieden. Da eine Klasse zwar nicht von mehreren Basisklassen erben kann, aber beliebig viele Interfaces implementieren kann, können die meisten der entsprechenden Probleme trotzdem elegant gelöst werden. Dabei ist jedoch zu beachten, dass Schnittstellen nur die Methodensignaturen an die implementierende Klasse weitergeben können, nicht jedoch Attribute oder bereits implementierte Methoden.
  
 Weitere wichtige Eigenschaften von Java sind die starke Typisierung, die automatische Garbage Collection, die Verwendung von Referenzen statt Zeigern sowie das Exception Handling. Weitere wichtige Eigenschaften von Java sind die starke Typisierung, die automatische Garbage Collection, die Verwendung von Referenzen statt Zeigern sowie das Exception Handling.
Zeile 17: Zeile 24:
  
 Obwohl Java eine interpretierbare Sprache ist, ist die Ausführungsgeschwindigkeit durch Just-In-Time Kompilierung und dynamischer Optimierung annähernd so hoch wie bei C++. Obwohl Java eine interpretierbare Sprache ist, ist die Ausführungsgeschwindigkeit durch Just-In-Time Kompilierung und dynamischer Optimierung annähernd so hoch wie bei C++.
 +
 +===== Hello World Beispiel =====
 +<code java>
 +public class HalloWelt {
 +  public static void main(String[] args) {
 +    System.out.println("Hallo, World!");
 +  }
 +}
 +</code>
 +
 +===== Literatur =====
 +  * [[Literatur:Mössenböck:Sprechen Sie Java? | H. Mössenböck: Sprechen Sie Java?]]
 +  * [[Literatur:Ullenboom:Java ist auch eine Insel | C. Ullenboom: Java ist auch eine Insel]]
 +  * [[Literatur:Barnes:Java lernen mit BlueJ | David J. Barnes, Michael Kölling: Java lernen mit BlueJ]]
  
 ===== Weblinks ===== ===== Weblinks =====
   * [[http://www.oracle.com/technetwork/java/javase/downloads/index.html | Sun JRE/JDK Download]]   * [[http://www.oracle.com/technetwork/java/javase/downloads/index.html | Sun JRE/JDK Download]]
   * [[http://download.oracle.com/javase/6/docs/api/ | Java-API Beschreibung]]   * [[http://download.oracle.com/javase/6/docs/api/ | Java-API Beschreibung]]
 +  * [[:Software:JavaDoc:start | Javadoc zur einfachen Dokumentation von Programmen]]
  
 ---- ----
  
-Dieser Text basiert auf den Wikipedia-Artikeln //Java,Java-Syntax, ...+Dieser Text basiert auf den Wikipedia-Artikeln //[[wpde>Java (Programmiersprache)]] und [[wpde>Java-Syntax]]