Ć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
}
}
