Ćwiczenie.
Wykaż, że metody chronione podlegają dostępowi pakietowemu, ale nie są metodami publicznymi.
Rozwiązanie:
Tworzymy dwie klasy: Animal i Owner w dwóch oddzielnych pakietach.
Odpowiednie klasy są dostępne poniżej:
Animal.java:
package net.traininguniverse.hiddden; public class Animal { protected boolean isHungry(boolean feed) { if (feed) return false; else return true; } public boolean showIsHungry(boolean feed) { return isHungry(feed); } }
Owner.java:
package net.traininguniverse.main; import net.traininguniverse.hiddden.Animal; public class Owner { public static void main(String[] args) { Animal animal = new Animal(); //animal.isHungry(true); //blad kompilatora (protected access), wiec nie jest publiczna System.out.println(animal.showIsHungry(true)); //wyswietla false, czyli podlega dostepowi pakietowemu } }