Hallo,
ich hab das zwar verstanden was Sichtbarkeit und Gültigkeit der Variablen in JAVA bedeuten aber für mich sind die beide GLEICH??
Wenn gültig dann sichtbar und wenn sichtbar dann gültig :p
Wenn mir jem einen Gegenbeispiel zeigen könnte, wäre ich sehr dankbar :thumb:
Unterschied zwischen Sichtbarkeit und Gültigkeit der Variablen in JAVA
-
-
hier ein Beispiel fuer eine Variable, die meiner Meinung nach gueltig, aber nicht sichtbar ist:
Code
Alles anzeigenclass Life{ private String meaning; } public class Test { public static void main(String[] args) { Life life = new Life(); // [1] System.out.println(life.meaning); // [2] } }
Die variable 'meaning' ist nach dem aufruf [1] solange gueltig, solange eine referenz auf das object, das mit 'new Life()' erzeugt wurde, existiert. Sie kann aber in [2] nicht angesprochen werden, da sie von aussen nicht sichtbar ist.
-
danke für die Antwort aber hab nicht viel verstanden, weil ich mit den Begriffen nichts anfangen kann :shinner: :confused: :ahhh:
Zitat von a9bejo....
Die variable 'meaning' ist nach dem aufruf [1] solange gueltig, solange eine referenz auf das object, das mit 'new Life()' erzeugt wurde, existiert. Sie kann aber in [2] nicht angesprochen werden, da sie von aussen nicht sichtbar ist. -
Irgendwo habe ich in diesem Zusammenhang einmal etwas von "nicht initialisierten Variablen" gehört.
z.b.:
in Zeile 2 ist die Variable sichtbar aber nicht gültig, da sie noch nicht initialisiert wurde (Initialisierung = erstmalige Wertzuweisung an eine Variable).
in Zeile 4 ist sie sichtbar und gültig (aber ein Programm, welches diese Codezeilen beinhaltet würde natürlich nicht kompilieren) -
WwoowW .. besser kann man das nicht erklären :thumb: :thumb: :thumb: DANKE!
mmhhh... das mit der Gültigkeit hab ich jetzt Supi verstanden aber wann wäre dann eine Variable UNSICHTBAR?? ... oder gibts das gar nicht? -
-
-
vielen Dank :thumb: :thumb: :thumb:
Hab das jetzt verstanden, was Gültigkeit und Sichtbarkeit bedeuten!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!