Wenn da kein public steht, wie soll denn ein erstelltes Objekt in der Klasse Y darauf zugreifen?
Über sogenannte Akzessor-Methoden (Getter und Setter). Es hat schon seinen Sinn, dass man auf private Objektvariablen/Attribute nicht zugreifen kann.
Gegeben sei Die Klasse Human:
public class Human {
private String name;
private int age;
public Human(final String name, final int age){
this.name = name;
this.age = age;
}
@Override
public String toString(){
return name + " (" + age + ")";
}
}
Um auf die Objektvariablen name
und age
zugreifen zu können, werden Getter (man holt sich eine Variable) und Setter (man modifiziert eine Objektvariable) benötigt. Diese sehen wie folgt aus:
// Getter
public int getAge(){
return age;
}
// Getter
public String getName(){
return name;
}
// Setter
public void setName(String name){
this.name = name;
}