Zugriff auf Klassen in unterschiedlichen Packages

JAphilVA

Grünschnabel
Einen wunderschönen Guten Tag;)

Ich habe ein kleines Problem und zwar habe ich zwei Klassen die in unterschiedlichen Packages liegen. Soweit ich bis jetzt gelesen habe ist es möglich, sofern die Klassen public sind auf diese zuzugreifen oder liege ich falsch? Es wäre super, wenn mir jemand helfen könnte oder eine geschickte Möglichkeit sagen könnte wie ich den Zugriff ermöglichen kann.

Vielen Dank im Voraus
LG
Philipp
 
Ja, die Klassen sollten public sein. Geht's Dir nicht aber um den Zugriff auf deren Methoden bzw. Variablen? Die müssen dann nämlich ebenfalls als public definiert sein, wenn Du darauf zugreifen möchtest.
 
Also größtenteils sind die Variablen static final und die Metoden sind ohne Modifizierer definiert.
Bei meiner zu lösenden Aufgabe ist diese Klasse auf die ich zugreifen möchte vorgegeben und ich darf sie nicht editieren.
 
Hallo,

wenn nicht explizit public vor einer Variablen oder Methode steht, ist sie maximal nur für das Package sichtbar.

MFG

zEriX
 
Hmm... und gibts wirklich keine Möglichkeit z.B. eine Klasse im Package anzulegen, die auf die methoden und variablen zugreifen kann und dann dem anderen package sichtbar macht.
Ich habe da mal was von Interfaces gehört. Ists nicht möglich solch eine Klasse als Schnittstelle zwischen den Packages zu verwenden oder besteht da ein Verständnisproblem bei mir was Interfaces angeht?
 
Dafür sind Interfaces nicht da.

Warum möchtest du denn nicht einfach public davor schreiben?

MFG

zEriX
 
Zwei Möglichkeiten, wenn Du die Vorgaben nicht ändern darfst:

  1. In die vorgegebene Klasse eine public-Methode hinzufügen, um die Instanzvariablen "von außen" zu ändern.
  2. Deine neue Klasse im selben Package abzulegen.
 
Naja das eigentliche Problem ist, das ich die GUI von dem Inhalt irgendwie separieren wollte und aus diesem Grund ein Package mit der GUI und ein anderes Package mit dem was hinter der GUI passiert.
Naja nur darf ich halt die gegebene Klasse nicht editieren, welche einen Großteil der Funktionalität ausmacht. Aus diesem Grund werde ich dann wohl mal meine GUI mit ins Package reinnehmen. Trotzdem Danke für die schnelle Hilfe.

MfG
Philipp
 
Was du machen könntest wäre eine Fasaden-Klasse. Die machst du mir ins Package rein. In dieser Klasse kannst du dann auf alle Methoden zugreifen. Die Methoden deiner Klasse machst du dann public, dann kannst du auch von einem anderen Package zugreifen.

MFG

zEriX
 
Zurück