Hi JavaGemeinde,
ich habe hier ein paar grundlegende Anfängerfragen:
Bruce Eckels schreibt in 3. Ed. Rev. von "Thinking in Java":
a) Das bedeutet als vier verschiedene Varianten, die in absteigender Performanz so anzuordnen sind?
private -> protected -> "default" access -> public
b) Wenn jetzt z. B. ein JTextField habe, macht es einen Unterschied in der Performanz, ob ich es
- im Konstruktor oder später irgendwo in der Klasse aufrufe?
- ich es mit "private" versehe?
- ich es mit "private static" versehe?
Ehrlich gesagt, verstehe ich die Unterschiede nicht sonderlich gut; hat jemand dazu einen verständlichen Text, der klare Ratschläge gibt?
Danke für alle Hinweise,
by<e Ulrich
ich habe hier ein paar grundlegende Anfängerfragen:
Bruce Eckels schreibt in 3. Ed. Rev. von "Thinking in Java":
Java uses three explicit keywords to set the boundaries in a class: public, private, and protected. Their use and meaning are quite straightforward. These access specifiers determine who can use the definitions that follow. [...]
Java also has a “default” access, which comes into play if you don’t use one of the aforementioned specifiers. This is usually called package access because classes can access the members of other classes in the same package, but outside of the package those same members appear to be private.
a) Das bedeutet als vier verschiedene Varianten, die in absteigender Performanz so anzuordnen sind?
private -> protected -> "default" access -> public
b) Wenn jetzt z. B. ein JTextField habe, macht es einen Unterschied in der Performanz, ob ich es
- im Konstruktor oder später irgendwo in der Klasse aufrufe?
- ich es mit "private" versehe?
- ich es mit "private static" versehe?
Ehrlich gesagt, verstehe ich die Unterschiede nicht sonderlich gut; hat jemand dazu einen verständlichen Text, der klare Ratschläge gibt?
Danke für alle Hinweise,
by<e Ulrich