Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: bortomar 09. 05. 2014, 12:30:01

Název: Dostupnost chráněných statických atributů v Javě
Přispěvatel: bortomar 09. 05. 2014, 12:30:01
Zdravím vás, mám poněkud triviální dotaz. Bohužel jsem nikde nenašel uspokojivou odpověď.
Mám-li dvě třídy ve stejném balíčku, ale ani jedna není rodičem, resp. potomkem druhé třídy, jak je možné, že mohu z jedné třídy přistupovat k chráněným statickým atributům třídy druhé a naopak? Očekával bych, že modifikátor protected zajišťuje, abych měl k atributu přístup pouze z dceřinné třídy.

Soubor Foo.java
Kód: [Vybrat]
package myPackage;

class Foo {
protected static int fooInt;
}

Soubor Bar.java
Kód: [Vybrat]
package myPackage;

class Bar {
public static int barInt = Foo.fooInt;
}

Název: Re:Dostupnost chráněných statických atributů v Javě
Přispěvatel: bortomar 09. 05. 2014, 12:32:42
Omlouvám se za hrubku. Mělo tam být "dceřiné".  ::)
Název: Re:Dostupnost chráněných statických atributů v Javě
Přispěvatel: nullvoid 09. 05. 2014, 12:47:22
Tak jsem, zdá se, našel i sám: http://stackoverflow.com/questions/215497/in-java-whats-the-difference-between-public-default-protected-and-private#comment26944600_215497 (http://stackoverflow.com/questions/215497/in-java-whats-the-difference-between-public-default-protected-and-private#comment26944600_215497).  :o
Název: Re:Dostupnost chráněných statických atributů v Javě
Přispěvatel: zigg 09. 05. 2014, 12:48:11
Protože jsou obě třídy v jedné package, modifikátor protected omezuje přístup pouze zvenčí balíku.
Název: Re:Dostupnost chráněných statických atributů v Javě
Přispěvatel: nullvoid 09. 05. 2014, 12:53:42
Právě to píšou i na výše uvedeném odkazu. Přesto díky za odpověď. sorry za spam.