Avatar billede velle Nybegynder
25. december 2004 - 02:30 Der er 8 kommentarer og
1 løsning

Protected er tilgængelig fra andre klasser, eller hvad?

Hejsa jeg læser lidt i Thinking in Java 3rd Edition (gratis på www.mindview.com). Der står følgende:

The protected keyword acts like private, with the exception that an inheriting class has access to protected members, but not private members.

Men så vidt jeg kan se, har andre klasser også adgang til protected members.

class Dyr {
  protected void foo() { }
  private void bar() { }
}

public class TestDyr {
  public void test() {
    Dyr d = new Dyr();
    d.foo();
    d.bar(); //is not visible
  }
}

Har jeg misforstået noget?

Vh Thomas Wessel
Avatar billede kalp Novice
25. december 2004 - 02:41 #1
hmm.. hvad er problemet? protected  kan godt tilgås fra andre klasser..
Avatar billede kalp Novice
25. december 2004 - 02:44 #2
ps. det de skal dog ligge i samme package!
Avatar billede kalp Novice
25. december 2004 - 02:45 #3
Okay tror vist også det er der du glipper:)

De kan godt tilgås... men kun hvis de er under samme package!
Avatar billede kalp Novice
25. december 2004 - 02:57 #4
Vil gå i seng nu men fandt lidt lidt om det er.. eksempel
http://www.devx.com/tips/Tip/14713
Avatar billede velle Nybegynder
25. december 2004 - 03:31 #5
Ok. Der protected members kan tilgås fra andre klasser i samme pakke, som ikke nedarver. Men det er jo ikke det der står i bogen. Der står som eneste undtagelse, at de kan tilgås fra klasser der nedarver.
Avatar billede gammelhat Nybegynder
25. december 2004 - 04:10 #6
fra bogen:

"This is private as far as the class user is concerned, but available to anyone who inherits from this class or anyone else in the same package.” (In Java, protected also provides package access.)"

- så det står der faktisk :)
Avatar billede kalp Novice
25. december 2004 - 04:20 #7
Ja jeg har ikke den bog men fortæller dig bare hvad jeg ved:)
Avatar billede velle Nybegynder
25. december 2004 - 04:32 #8
Hehe, troede du ville gå i seng kalp :-)

Nå, jamen tak for det grundige svar gammelhat, men netop der hvor jeg læste, chapter 1, stod det ikke nævnt. Men du kan lægge et svar.
Avatar billede kalp Novice
25. december 2004 - 14:45 #9
Hehe ja gik i seng lidt senere, meeen er også lige stået op for 30min siden det var sgu sent hehe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester