Eine Klasse ist eine Vorlage, die zur Erzeugung beliebig vieler Objekte mit ähnlichen Eigenschaften verwendet wird. Sie umfasst alle gemeinsamen Eigenschaften der von ihr abgeleiteten Objekte.
Als Klasse (class) bezeichnet man die Definition einer Idee, eines Konzepts, einer Art von Objekten.
Als Objekt (object), Exemplar oder Instanz (instance) bezeichnet man eine konkrete Ausprägung eines Objekts, also ein Stück aus der Menge der Objekte dieser Klasse.
Beispiele: Hubert Partl und Monika Kleiber sind Objekte der Klasse Mitarbeiter. Die Universität für Bodenkultur ist ein Objekt der Klasse Universität.
Je einfacher die Klassen gewählt werden, desto besser. Komplexe Objekte können aus einfacheren Objekten zusammengesetzt werden (z.B. ein Bücherregal enthält Bücher, ein Buch enthält Seiten, ein Atlas enthält Landkarten). Spezielle komplizierte Eigenschaften können auf grundlegende einfache Eigenschaften zurückgeführt werden (Vererbung, z.B. ein Atlas ist eine spezielle Art von Buch).
Eine Java-Datei entspricht einer Java-Klasse und beginnt immer mit einer Klassendefinition,
also mit dem Schlüsselwort "class" und einem großgeschriebenen Klassennamen.
Alles weitere steht dann innerhalb der geschweiften Klammern einer Klasse.
public class Person { ... Anweisungen ... }
Beim Start eines Java-Programms sucht die JVM in der beim Start angegebenen Java-Klasse nach der "main-Methode" und führt deren Anweisungen aus.
public class PersonTesten { public static void main(String[] args) { ... Anweisungen ... } }
Eine Java-Klasse ist eine Schablone (Blaupause) zur Erstellung von konkreten Objekten.
Ein Objekt wird von einer Klasse instanziiert, man spricht dann von der Instanz einer Klasse.
Beispiel: Mit Hilfe einer Klasse "Personendaten" können verschiedene Personenobjekte angelegt werden.
|
|
Eine Klasse "Person" könnte folgende Instanzvariablen und Methoden enthalten: |
Klasse: Person --------------------------------------- Instanz- name variablen: anschrift telefon --------------------------------------- Methoden: setzeName leseName setzeAnschrift leseAnschrift setzeTelefon leseTelefon |
public class Person { private String name; public void setName(String name){ this.name=name; } public String getName(){ return this.name; } }
Um von einer Klasse Objekte anzulegen, muß eine Variable vom Typ der Klasse deklariert werden und ihr mit Hilfe des new-Operators ein neu erzeugtes Objekt zugewiesen werden. Also zuerst eine normale Variablendeklaration, wobei anstelle des primitiven Typs der Typname der selbst definierten Klasse gewählt wird. Dann per new-Operator eine neue Instanz anlegen.
public class PersonTest { public static void main(String[] args) { Person p1=new Person(); Person p2=new Person(); p1.setName("Herr A"); p2.setName("Herr B"); System.out.println("Name von Person 1 ist: "+p1.getName()); System.out.println("Name von Person 2 ist: "+p2.getName()); } }
Instanziierte Objekte werden auf dem Java-Heap gespeichert. Die JVM (Java Virtual Machine) verwaltet diesen Speicherbereich, sie legt dort neue Objekte an und löscht nicht mehr benötigte Objekte. Objektvariable wie "p1" werden als Referenzen gespeichert. Man kann sich das wie eine Fernbedienung vorstellen, die auf den Heap zeigt und Schaltknöpfe für alle Methoden (get, set) eines Objekts enthält.