Hallo zusammen,
ich habe folgendes Listing:
Wenn ich es ausführe komme es zu einer Fehlermeldung. Ich möchte mir mit diesem Listing die Überdeckung von Instanzvariablen durch lokale Variablen genauer ansehen.
In der if-Verzweigung kommt es zu einer Fehlermeldung, weil ja die Instanzvariable zKette durch die lokale Variable überdeckt wird und dadurch die Instanzvariable "null" zurückliefert.
Meine Frage:
Ich weiß zwar, dass es durch einen "null" Wert zu einer "java.lang.NullPointerException
" kommt. Aber ich weiß nicht, warum dies so ist?
Warum liefert zum Beispiel "if (test.getzkette().isEmpty())" nicht true? Was ist denn genau der Wert "null"?
Viele Grüße
ich habe folgendes Listing:
Java:
class uberdeckt {
//die Instanzvariable
String zKette;
void zKetteAendern (String zKette) {
zKette = zKette + "geandert";
}
String getzkette () {
return zKette;
}
}
public class ueberdeckte_Instanzvariable {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//eine Instanz von uberdeckt erzeugen
uberdeckt test = new uberdeckt ();
test.zKetteAendern("Test");
System.out.println ("Der geänderte Wert ist" + test.getzkette() );
if (test.getzkette().isEmpty())
System.out.println ("Die Zeichenkette ist leer");
else
System.out.println ("Die Zeichenkette ist nicht leer");
}
}
Wenn ich es ausführe komme es zu einer Fehlermeldung. Ich möchte mir mit diesem Listing die Überdeckung von Instanzvariablen durch lokale Variablen genauer ansehen.
In der if-Verzweigung kommt es zu einer Fehlermeldung, weil ja die Instanzvariable zKette durch die lokale Variable überdeckt wird und dadurch die Instanzvariable "null" zurückliefert.
Meine Frage:
Ich weiß zwar, dass es durch einen "null" Wert zu einer "java.lang.NullPointerException
" kommt. Aber ich weiß nicht, warum dies so ist?
Warum liefert zum Beispiel "if (test.getzkette().isEmpty())" nicht true? Was ist denn genau der Wert "null"?
Viele Grüße