Dostęp pakietowy

0

Witam, robię obecnie zadania dla programu NetBeans i spotkałam się z jednym o takiej treści:

"Proszę stworzyć dwa dowolne programy pokazujące odwołanie do elementu z modyfikatorem
protected. Pierwszy program: zastosuj proszę dziedziczenie klas (subclass, superclass) Drugi
Program: zastosuj proszę dostęp pakietowy (default). Pamiętaj o tym, że protected = default +
inheritance."

O co chodzi z zastosowaniem dostępu pakietowego?

1

Ja nie podasz ani public ani protected ani private to domyślnie jest package-private, a więc dostęp pakietowy. Szczegóły tutaj: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

1

Załóżmy że masz taką strukturę katalogów:

src
 |_ main
        |_ java
             |_ packageA
                    |_ ClassA
              |_ packageB
                    |_ ClassB

I implementacja twoich powyższych klas będzie np taka:

class ClassA{
...
}
public class ClassB{
...
}

To w całym projekcie będziesz mógł tworzyć obiekty klasy ClassB - czyli np. w klasie ClassA możesz bez problemu utworzyć taki obiekt ClassB b = new ClassB().
Natomiast odwrotnie tego nie zrobisz. ClassA nie ma żadnego modyfikatora dostepu więc jest to dostęp pakietowy - tylko klasy które sa w dokładnie tym samym pakiecie "widzą" tę klasę więc jeśli spróbujesz w ClassB utworzyć instancje ClassA np. ClassA a = new ClassA() to IDE od razu pokaże Ci że nie możesz tego zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1