Ich habe gerade in einem anderen Forum ein Post gesehen,
der bei mir Verständnisschwierigkeiten auslöst.
Dazu jetzt meine Frage:
Ich hab's gleich ausprobiert und es stimmt tatsächlich.
Ich würde sagen, daß dem Ersteller eines packages natürlich die
Erlaubnis gegeben werden kann, in seinem package auf protected
Elemente zuzugreifen.
Die Frage ist jetzt, ob ich mich in ein vorhandenes Fremd-Package einschleusen kann. In der Art:
Anders gefragt: Was macht der ClassLoader wenn er in mehreren Jar-Files ein
bestimmtes Package findet? Mischt er dann die Klassen der Packages?
der bei mir Verständnisschwierigkeiten auslöst.
TK1985 hat gesagt.:Ich hab mal ein paar Fragen zu den Zugriffsmodifier unter Java und ihrer Anwendung.
Wenn ich die Daten eines Objekts verändern will, dann mach ich das ja nicht durch direkten Zugriff auf die Atribute sondern über Methoden, die dann wiederum die Atribute des Objekts beeinflussen. Solche Atribute die ich gegen "unerlaubten" Zugriff schützen will definiere ich ja als private, oder!? Wenn ich jetzt aber eine Klasse vererben will dann kann ich in der Unterklasse nicht mehr auf die private-Elemente der Vaterklasse zugreifen, was ja aber oft sehr wünschenswert ist. Muss ich in dem Fall dann den den Modifier protected wählen? Ich hab jetzt gelesen, dass protected Atribute auch für andere Klassen im gleichen Packet sichtbar sind, was ja bedeuten würde das ich den Effekt des Zugriffschutzes nur außerhalb eines Packets erziele. Ist das ein wirkliches Problem oder ist es in der Praxis eh immer der Fall das sich fremde Klassen in einem anderen Packet befinden und ich so den Zugriffsschutz habe.
Ich hoffe mir kann da jemand weiterhelfen.
MfG
Thomas
Dazu jetzt meine Frage:
:shock: Das wußte ich noch gar nicht :shock:TK1985 hat gesagt.:Ich hab jetzt gelesen, dass protected Atribute auch für andere Klassen im gleichen Packet sichtbar sind
Ich hab's gleich ausprobiert und es stimmt tatsächlich.
Gute Frage!TK1985 hat gesagt.:Ist das ein wirkliches Problem oder ist es in der Praxis eh immer der Fall das sich fremde Klassen in einem anderen Packet befinden und ich so den Zugriffsschutz habe.
Ich würde sagen, daß dem Ersteller eines packages natürlich die
Erlaubnis gegeben werden kann, in seinem package auf protected
Elemente zuzugreifen.
Die Frage ist jetzt, ob ich mich in ein vorhandenes Fremd-Package einschleusen kann. In der Art:
Code:
// ganz.geheimes.package.Spion.java
package ganz.geheimes.package;
class Spion {
public static IrgendeineClass1 getStaticMember1() {return PackageClass1.Geheim;}
public static IrgendeineClass2 getStaticMember1() {return PackageClass2.Geheim;}
}
}
bestimmtes Package findet? Mischt er dann die Klassen der Packages?