Skip to main content

So nutzt du das Java Keyword public

Java Programme bestehen aus Java Klassen.

Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein.

Was bedeutet das?
Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen.

Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.

Und wie geht das?
Durch das Java Keyword public.
Durch dieses Keywort kannst du Klassen, aber auch Methoden, für andere Klassen sichtbar machen.

Und so geht’s.
Wenn du eine neue Klasse anlegst, besteht die Möglichkeit einen sogenannten Access Modifiers zu wählen.

Markiere den Modifiers public und deine neue Klasse ist dann öffentlich zugänglich.

Du kannst aber bestehende Klassen nachträglich öffentlich machen.
Schreibe dazu vor dem Keywort class das Keywort public und deine Klasse ist öffentlich.

Was passiert durch diese Sichtbarkeit?
Du erlaubst dann allen anderen Klassen, Objekte dieser Klasse anzulegen.

Weiterhin kannst du die Öffentlichkeit für Methoden oder Instanzvariablen einschränken.

Schreibe einen anderen Access Modifier vor die Variablen und Methoden.


public class VorfuehrungProgramm{
private int vorfuehrungsVariable;//die Klasse ist public (öffentlich). Die Variable ist nicht öffentlich (private)


private void vorfuehren(){ //Die Methode ist ebenfalls nicht öffentlich.

}
}

Somit haben andere Klassen zwar die Möglichkeit Objekte dieser Klassen zu bilden.
Sie dürfen aber nicht auf deren Methoden zugreifen.

Und was bring das?
Nimm einfach mal an.
Du bietest ein Programm an, welches Radiowellen empfängt und verarbeitet.

Oder anders gesagt: ein Radioprogramm zum Hören von Radiosendern.

Dein Nutzer kann zum Programmstart ein Radioobjekt erschaffen.
Klar sonst wäre es kein Radioprogramm.

Dein Nutzer könnte die Lautstärke einstellen.

Deine Radioklasse hätte somit eine Instanzvariable zur Lautstärke.

Dürfte der Nutzer dann uneingeschränkt auf die Lautstärke zugreifen?

Na…

Eher nicht. Denn die Lautstärke könnte niemals negativ sein.
Die Lautstärke könnte einen bestimmten Wert auch nicht überschreiten.

Wir können also festhalten:
Die Instanzvariable „Lautstärke“ dürfte sich nur in gewissen Grenzen bewegen.

Du musst also den Zugriff auf diese Variable begrenzen.
Und du brauchst Methoden, welche die Nutzereingabe prüfen.

Und erst dann sollte die Zuweisung auf die Lautstärke erfolgen.

Und bei den Methoden ist es ähnlich.
Der Nutzer kann zwar auf Methoden zur Lautstärkeregelung zugreifen.
Aber er sollte nicht auf Methoden zur Signalweitergabe, zum Signalempfang usw. zugreifen können.

Du siehst, dass du beim Klassendesign schon einige Möglichkeiten hast.
Du solltest dir vor dem Anlegen einer Klasse über die Zugriffsmöglichkeiten im Klaren sein.

Fazit:

  • Durch das Java Keywort public machst du Java Klassen öffentlich zugänglich.
  • Wenn es keinen wirklichen Grund gibt, es nicht zu tun – Dann sollte jede deiner Java Klassen public sein.
  • Du kannst immer entscheiden, ob du Attribute dieser Klassen ebenfalls öffentlich oder nicht zugänglich hältst.
    Nutze dann für Methoden und Variablen andere Access Modifiers.