Sichtbarkeit von private

Status
Nicht offen für weitere Antworten.

metalfan

Aktives Mitglied
Hi,

habe im GotoJava Buch ein Beispiel für die verwendung von private für Variablen gefunden:

Code:
/* Listing0806.java */

public class Sichtbarkeit
{
  public static void main(String[] args)
  {
    ClassWithPrivateA a1 = new ClassWithPrivateA(7);
    ClassWithPrivateA a2 = new ClassWithPrivateA(11);
    a2.setOtherA(a1, 999);
    System.out.println("a1 = " + a1.toString());
    System.out.println("a2 = " + a2.toString());
  }
}

class ClassWithPrivateA
{
  private int a;

  public ClassWithPrivateA(int a)
  {
    this.a = a;
  }
  
  public void setOtherA(ClassWithPrivateA other, int newvalue)
  {
    other.a = newvalue;
  }

  public String toString()
  {
    return "" + a;
  }
}


Allerdings funktioniert dies auch wenn die Methode setOtherA folgendermaßen definiert ist:
Code:
 public void setOtherA(int newvalue)
    {
      this.a=newvalue;
    }

Aufruf:
Code:
a2.setOtherA(123);

Imho ist das Original Beispiel unnötig komplex (eigener Typ), die Variable wird doch auch mit der neuen setOtherA Methode nicht von aussen sondern von einem Objekt der eigenen Klasse verändert?
 

byte

Top Contributor
Das Beispiel ist in der Tat etwas merkwürdig. Der Sinn einer solchen Set-Methode ist mir nicht klar.

Normalerweise macht man Klassenvariablen immer auf private und schreibt eine Get- und eine Set-Methode (jeweils public), um von aussen auf die private Variable zuzugreifen. Direkten Zugriff auf die Variable hat somit nur das Objekt selbst.

Code:
class ClassWithPrivateA {
  private int a;

  public ClassWithPrivateA(int a) {
    this.a = a;
  }
 
  public void setA(int a) {
    this.a = a;
  }

  public int getA() {
    return a;
  }

  public String toString() {
    return "" + a;
  }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Allgemeine Frage zur Sichtbarkeit "private" Java Basics - Anfänger-Themen 5
K Sichtbarkeit protected: Attribute trotzdem aufrufbar. Java Basics - Anfänger-Themen 4
A OOP Komposition per Package-Sichtbarkeit Java Basics - Anfänger-Themen 2
melaniemueller Datenkapselung Sichtbarkeit public Java Basics - Anfänger-Themen 4
C Sichtbarkeit in Pakten Java Basics - Anfänger-Themen 2
Y JFrame sichtbarkeit Java Basics - Anfänger-Themen 4
Y Panels sichtbarkeit Java Basics - Anfänger-Themen 3
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
A Sichtbarkeit in Methoden/Listen Java Basics - Anfänger-Themen 3
W Sichtbarkeit vom Variablen, Klassen usw. Java Basics - Anfänger-Themen 3
M Sichtbarkeit - Modifier Java Basics - Anfänger-Themen 13
P Klasse mit eingeschränkter Sichtbarkeit Java Basics - Anfänger-Themen 3
J Sichtbarkeit Variable in Schleife Java Basics - Anfänger-Themen 5
C OOP Aufruf von Methoden höherer Sichtbarkeit Java Basics - Anfänger-Themen 10
S Sichtbarkeit Problem Java Basics - Anfänger-Themen 10
J Sichtbarkeit von Objecten in JSP's Java Basics - Anfänger-Themen 7
L sichtbarkeit von checkboxen Java Basics - Anfänger-Themen 2
C OOP Vererbung und Sichtbarkeit Java Basics - Anfänger-Themen 14
B Konstruktoren Sichtbarkeit Java Basics - Anfänger-Themen 2
M Sichtbarkeit von Methoden Java Basics - Anfänger-Themen 7
C Überdecken von Attributen und Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 8
H2SO3- sichtbarkeit con classen und functionen Java Basics - Anfänger-Themen 8
M Vererbung und Sichtbarkeit von Methoden Java Basics - Anfänger-Themen 7
R Sichtbarkeit von Methoden Java Basics - Anfänger-Themen 14
G konstanten leicht benutzen? (sichtbarkeit) Java Basics - Anfänger-Themen 17
G Deklaration und Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 2
H statische methoden und sichtbarkeit Java Basics - Anfänger-Themen 13
B Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 2
F Sichtbarkeit von Buttons un Frame Java Basics - Anfänger-Themen 7
G Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 4
J protected und Standard Sichtbarkeit Java Basics - Anfänger-Themen 2
P Sichtbarkeit Java Basics - Anfänger-Themen 5
R Sichtbarkeit bei Vererbung Java Basics - Anfänger-Themen 2
K Sichtbarkeit von Komponenten prüfen Java Basics - Anfänger-Themen 5
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
M Private Variable Java Basics - Anfänger-Themen 2
Gaudimagspam Attribute einfügen private Java Basics - Anfänger-Themen 3
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
Z private Klassenvariablen Java Basics - Anfänger-Themen 8
S Private int in Klasse Java Basics - Anfänger-Themen 4
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
J Klasse wird als private erkannt obwohl sie public deklariert ist Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
N Instanzvariablen als private... Java Basics - Anfänger-Themen 2
A Private Attribut aus fremder Klasse lesen ? Java Basics - Anfänger-Themen 19
P Methoden private int[] in main Java Basics - Anfänger-Themen 16
A Klassen Werte in den private Bereich übergeben Java Basics - Anfänger-Themen 5
C Collections: private Map Java Basics - Anfänger-Themen 4
M Wie private Methoden mit Asserstions testen? Java Basics - Anfänger-Themen 3
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
D Klassenvariablen standardmäßig private oder public? Java Basics - Anfänger-Themen 2
W private Array Loops Java Basics - Anfänger-Themen 4
B public/private nur 1x schreiben Java Basics - Anfänger-Themen 3
H Privat ist nicht mehr private Java Basics - Anfänger-Themen 7
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
A Variablen lokale Variable als private? Java Basics - Anfänger-Themen 3
A private string array Java Basics - Anfänger-Themen 5
B auf private Variable durch eine Methode zugreifen Java Basics - Anfänger-Themen 8
J Probleme mit verschiedenen Private Klassen Java Basics - Anfänger-Themen 3
T public-private problem Java Basics - Anfänger-Themen 5
C Comparator und private Variablen Java Basics - Anfänger-Themen 7
K Methoden als private deklarieren? Java Basics - Anfänger-Themen 13
K Protected und Private Deklaration Java Basics - Anfänger-Themen 8
F Im Konstruktor mit Settern auf private Attribute zugreifen - oder nicht? Java Basics - Anfänger-Themen 18
B Kapselung Klasse private, Konstruktor protected Java Basics - Anfänger-Themen 10
H NEtBeans: Fehler: XXX has private access... Java Basics - Anfänger-Themen 2
K Kapselung public / private verständis problem Java Basics - Anfänger-Themen 17
E einfache Frage zu private Java Basics - Anfänger-Themen 26
N public class -> public method -> variable private? Java Basics - Anfänger-Themen 10
W Private Methode variablen übergeben..?! WIE! Java Basics - Anfänger-Themen 30
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
L Private Methode in Subklasse? Java Basics - Anfänger-Themen 2
S Private Class Problem Java Basics - Anfänger-Themen 17
K Kann man Private-Konstruktoren doch aurufen? Java Basics - Anfänger-Themen 8
Luk10 Vererben von private instanzvariablen Java Basics - Anfänger-Themen 20
P zugriff auf private variablen Java Basics - Anfänger-Themen 5
berliner Klassen Vererbung und Zugriff auf innere private Variable Java Basics - Anfänger-Themen 22
G field public/private wann Java Basics - Anfänger-Themen 11
Spin private Frage Java Basics - Anfänger-Themen 16
G Zugriff auf private Variablen einer inneren Klasse Java Basics - Anfänger-Themen 5
G Private Messages versenden Java Basics - Anfänger-Themen 13
S Zugriffe über Private Instanzvariablen Java Basics - Anfänger-Themen 3
J Public / Private Keys speichern bzw. lesen? Java Basics - Anfänger-Themen 8
R Private Methoden von auserhalb aufrufen Java Basics - Anfänger-Themen 2
N private variable vom typ einer klasse Java Basics - Anfänger-Themen 20
A in abstract Klasse private Variablen Java Basics - Anfänger-Themen 3
G GUI Controls private oder public Java Basics - Anfänger-Themen 6
G Variablen public oder private? Java Basics - Anfänger-Themen 9
P Private Klassen Java Basics - Anfänger-Themen 4
F Frage zur Vererbung und Zugriffmodifikator private Java Basics - Anfänger-Themen 3
S private public Java Basics - Anfänger-Themen 5
R private / public Frage Java Basics - Anfänger-Themen 7
S private String text; -> "Illegal start of expression Java Basics - Anfänger-Themen 7
R Klasse nicht sichtbar(kein private-Fehler) Java Basics - Anfänger-Themen 2
G Public ,private,protected Java Basics - Anfänger-Themen 1
R Private Klasse in Applet nutzen? Java Basics - Anfänger-Themen 9
B Instanzvariablen private? Java Basics - Anfänger-Themen 5
A public/private/etc. Zusatz weglassen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben