From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001
From: Sven Eisenhauer
+Eine Klassendefinition in Java wird durch das Schlüsselwort class
+eingeleitet. Anschließend folgt innerhalb von geschweiften Klammern
+eine beliebige Anzahl an Variablen- und Methodendefinitionen. Das
+folgende Listing ist ein Beispiel für eine einfache Klassendefinition:
+
+
+
+
+
+
+ Titel
+ Inhalt
+ Suchen
+ Index
+ DOC
+ Handbuch der Java-Programmierung, 5. Auflage
+
+ <<
+ <
+ >
+ >>
+ API
+ Kapitel 7 - OOP I: Grundlagen
+
+
+
+
+
+7.2 Klassen und Objekte in Java
+
+
+
+
+
+
+
+7.2.1 Klassen
+
+
+
+
+Listing 7.1: Eine einfache Klassendefinition
+
+
+
+
+
+001 /* Auto.java */
+002
+003 public class Auto
+004 {
+005 public String name;
+006 public int erstzulassung;
+007 public int leistung;
+008 }
+
+
+Auto.java
+
+Diese Klasse enthält keine Methoden, sondern lediglich die Variablen +name, erstzulassung +und leistung. Eine solche methodenlose +Klassendefinition entspricht dem Konzept des Verbunddatentyps aus +C oder PASCAL (struct bzw. record). +Die innerhalb einer Klasse definierten Variablen werden wir im folgenden +(analog zu C++) meist als Membervariablen +bezeichnen. Die in Abschnitt 7.1.3 +erwähnten Begriffe Instanzvariablen oder Instanzmerkmal +sind aber ebenso gültig. + + + + +
+Um von einer Klasse ein Objekt anzulegen, muss eine Variable vom Typ +der Klasse deklariert und ihr mit Hilfe des new-Operators +ein neu erzeugtes Objekt zugewiesen werden: + + +
+
+
++001 Auto meinKombi; +002 meinKombi = new Auto();+ + |
+
+Die erste Anweisung ist eine normale Variablendeklaration, wie sie +aus Kapitel 4 bekannt +ist. Anstelle eines primitiven Typs wird hier der Typname einer zuvor +definierten Klasse verwendet. Im Unterschied zu primitiven Datentypen +wird die Objektvariable meinKombi +als Referenz gespeichert. Die zweite Anweisung generiert mit +Hilfe des new-Operators +eine neue Instanz der Klasse Auto +und weist sie der Variablen meinKombi +zu. + +
+In Java wird jede selbstdefinierte Klasse mit Hilfe des new-Operators +instanziert. Mit Ausnahme von Strings und Arrays, bei denen der Compiler +auch Literale zur Objekterzeugung zur Verfügung stellt, +gilt dies auch für alle vordefinierten Klassen der Java-Klassenbibliothek. +
+
![]() |
+![]() |
+
+
+ +Wie bei primitiven Variablen lassen sich beide Anweisungen auch kombinieren. +Das nachfolgende Beispiel deklariert und initialisiert die Variable +meinKombi: |
+
+
|
+![]() |
+
+
+
++001 Auto meinKombi = new Auto();+ + |
+
+Nach der Initialisierung haben alle Variablen des Objekts zunächst +Standardwerte. Referenztypen haben den Standardwert null, +die Standardwerte der primitiven Typen können Tabelle 4.1 +entnommen werden. Der Zugriff auf sie erfolgt mit Hilfe der Punktnotation +Objekt.Variable. Um unser Auto-Objekt +in einen 250 PS starken Mercedes 600 des Baujahrs 1972 zu verwandeln, +müssten folgende Anweisungen ausgeführt werden: + + +
+
+
++001 meinKombi.name = "Mercedes 600"; +002 meinKombi.erstzulassung = 1972; +003 meinKombi.leistung = 250;+ + |
+
+Ebenso wie der schreibende erfolgt auch der lesende Zugriff mit Hilfe +der Punktnotation. Die Ausgabe des aktuellen Objektes auf dem Bildschirm +könnte also mit den folgenden Anweisungen erledigt werden: + + +
+
+
+
+001 System.out.println("Name........: "+meinKombi.name);
+002 System.out.println("Zugelassen..: "+meinKombi.erstzulassung);
+003 System.out.println("Leistung....: "+meinKombi.leistung);
+
+ |
+
| Titel + | Inhalt + | Suchen + | Index + | DOC + | Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 + |
| << + | < + | > + | >> + | API + | © 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de + |