Java Public & Private?
Hallo,
ich suche eine simple Möglichkeit Methoden Privat zu halten, aber dennoch darauf über von mir festegelegten Klassen darauf zugreifen zu können.
Beispiel:
Eine Main Klasse kann auf alle anderen Klassen zugreifen, aber die anderen Klassen können das untereinander nicht.
Hier ein Codebeispiel in public und in private Zustand:
Hat jemand eine Idee wie ich das machen kann?
3 Antworten
Wenn du von anderen methoden dadrauf zugreifen kannst, sind sie ja per definition nicht privat. Privat heißt eben dass man nur von innerhalb der klasse dadrauf zugreifen kann.
Vielleicht möchtest du sie protected oder "package private"(default, wenn du einfach nichts davor schreibst). Dann können Klassen aus dem seleben package dadrauf zugreifen.
Unterschied zwischen protected und default ist das beim default, subklassen aus einem anderen package nicht dadrauf zugreifen können.
In C++ gibt es dafür "friend"-Klassen. Eventuell gibt es sowas auch in Java.
Ich nehme an mittels
https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/security/AccessController.html
sollte sich etwas realisieren lassen. Habe ich selbst aber noch nie gemacht.