Witam. Uczę się z książki Thinking in Java (wydanie 3) i robiłem zadania odnośnie modyfikatorów dostępów.
Napotkałem problem w miejscu, w którym według książki być go nie powinno.
Oto testowy kod:
import components.*;
public class Base extends Extensions {
public static void main (String[] args){
Extensions ex = new Extensions();
ex.Sugar();
}
}
package components;
public class Extensions {
protected void Sugar() { System.out.println("sugar");}
}
Są to dwa różne pakiety z czego główna klasa "Baza" dziedziczy po klasie "Extensions". Miała ona uzyskać dostęp do chronionej metody Sugar() wedle opisanych zasad, że owe (chronione) składniki będą dostępne jedynie dla klas dziedziczących je.
No i w tym miejscu mam problem bo wyskakuje komunikat, że metoda nie jest widzialna. Gdzie jest błąd? Czy to moje złe rozumowanie?
Pozdrawiam.