Java auf Variablen von einer Klasse in einer anderen zugreifen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du könntest eine Klasse erstellen: ConfigData. Dieser Klasse weist du dann deine Attribute als Instanz-Variablen zu und legst für diese Getter an.

z.B.:

class ConfigData {

private String tsHost;
...

public ConfigData(String tsHost) {
  this.tsHost = tsHost;
}

public String getTSHost() {
return this.tsHost;
}
...

Deiner Methode readConfig könntest du dann einen Rückgabewert vom Typ: ConfigData geben: 

public static ConfigData readConfig(){...}

in dieser Methode kannst du deine ausgelesenen Variablen an den Konstruktor einer neuen ConfigData-Instanz übergeben und diese von deiner Methode zurück geben lassen.

so wäre es in deiner anderen Klasse möglich: so darauf zuzugreifen:

ConfigData configdata = configfile.readConfig();
configdata.getTSHost();

Wobei ich mir erlaube anzumerken: Klassen immer vorne groß zu schreiben. 

Schlechtes Konzept. Du solltest lieber in der Hauptklasse die andere Klasse "aufrufen", sodass zB eine Liste mit den Configs zurückgegeben wird. Oder du machst die "Configs"-Klasse statisch oder so..


Assassins89 
Beitragsersteller
 08.11.2016, 12:49

Die ruf ich ja auf aber dennoch muss ich die Variablen in der Config Klasse in der Hauptklasse nutzen.

triopasi  08.11.2016, 12:52
@Assassins89

Deine Hauptklasse ruft 

readConfig

doch bestimmt irgendwo auf, oder? Anstatt, dass readConfig das alles in lokale Variablen schreibt, sollte es die Konfigs lieber zurückgeben (return).