# Der Java Schlüsselwort null; ?Welche Anweisung und Sinn?



## math.iso@live.de (22. Dez 2008)

Hallo liebe Leute 

beim java erlernen bin ich leider auf etwas komischen befehl "null" zugestoßen ,ich würde gern wissen was dieser befehl aussagt ...

Was ich nicht verstehe ist , dass die java schlüsselwörter auf englisch sind , warum gibt es ein befehl das  auf deutsch ist ?
warum heißt es nicht zero ..?



Was macht das Programm an der Stelle wo ich es mit Kommentar versehen habe

die Klasse-Kontoframe

```
import java.awt.*;
import java.awt.event.*;
import java.text.*;

public class KontoFrame extends Frame{

private Konto meinKonto =null; //was macht das programm an dieser Stelle ...?

public void setKonto (Konto k){
this.meinKonto=k;
}
public Konto getKonto(){
return meinKonto;
}
}
```
die Klasse Konto

```
{
private Person inhaber;

private  double guthaben=0;
..
..
..
{
```

die Klasse Person

```
{
private String vorname;
private String zuname;
}
```


----------



## andre111 (22. Dez 2008)

null ist englisch und bedeutet null bzw nichts

```
Konto k = null;
```
steht dafür dass das Objekt p noch nicht initialisiert wurde


----------



## 0x7F800000 (22. Dez 2008)

math.iso@live.de hat gesagt.:
			
		

> ...bin ich leider auf etwas komischen befehl "null" zugestoßen ,ich würde gern wissen was dieser befehl aussagt ...


Das ist kein "Befehl" und "komisch" ist an dem auch nichts. Das ist einfach eine leere Referenz, die einfach auf nichts zeigt.



> Was ich nicht verstehe ist , dass die java schlüsselwörter auf englisch sind , warum gibt es ein befehl das  *auf deutsch* ist ?
> warum heißt es nicht zero ..?


häää? warum heißt's nicht "ingenting" ???:L 



> Was macht das Programm an der Stelle wo ich es mit Kommentar versehen habe


genau dasselbe, als wenn du "=null" weggelassen hättest. Die referenz auf den default wert: nämlich auf null setzen, damit man nichts versehentlich durcheinaderbringt.


----------



## math.iso@live.de (22. Dez 2008)

Danke schön Null ist gleich null  ist auch englisch ,hätte ich gar nicht gedach =)

die frage haben alles geklärt 

mir ist noch eine frage eingefallen ..?


angenommen

ich würde das Programm an der stelle 





> private Konto Kontoname=null;


 ändern sodass

dann 
	
	
	
	





```
private Konto Kontoname=mustermann;
```
 steht , wenn ich das kompiliere finde er das nicht , an welche stelle des programm muss ich das umändern damit das programm kompilieren kann..?


----------



## andre111 (22. Dez 2008)

du musst davor ein Konto mustermann erzeugen.

```
Konto mustermann = new Konto(); //Standardkonstruktor
Konto k = mustermann;
```
dann funktionierts


----------



## 0x7F800000 (22. Dez 2008)

math.iso@live.de hat gesagt.:
			
		

> wenn ich das kompiliere finde er das nicht


Was es nicht gibt, kann der compiler auch nicht finden: ein denkbar einfaches Prinzip...


----------



## math.iso@live.de (22. Dez 2008)

warum funktioniert es nicht wenn ich unter der klasse Konto ein Objekt mustermann definiere ?

warum muss ich es in der KontoFrame Klasse  ein Objekt mustermann definieren ..?


```
class Konto{

private Person inhaber; 

private  double guthaben=0; 

Konto mustermann=new Konto();
```


----------



## andre111 (22. Dez 2008)

woher soll der compiler dann bitte wissen wo sich das objekt mustermann befindet???


----------



## math.iso@live.de (22. Dez 2008)

wie wo er ist findet , eigentlich muss er es doch finden ,weil er

die klasse Konto benötigt ,damit er diese Attribute oder Datenfeld "private Konto Kontoname" ,überhaupt anwenden kann bzw anlegen kann


----------



## andre111 (22. Dez 2008)

der compiler machts so aber nicht.
irgendwer hat irgendwann auch mal den compiler programmiert und halt eben so dass er das nicht erkennt.


----------



## math.iso@live.de (22. Dez 2008)

danke für deine Pychologische Hilfestellung andrey ,wünsch dir ein netten schönen abend und danke nochmal für deine Mühe


----------



## 0x7F800000 (22. Dez 2008)

what, ich? ich hab seit 5 beiträgen nichts mehr gesagt ???:L


----------



## math.iso@live.de (22. Dez 2008)

upss ich meinte andre


----------

