Objekt global verfügbar machen

  • Themenstarter Themenstarter ash34
  • Beginndatum Beginndatum
A

ash34

Gast
Hy,

ich stehe gerade vor dem Problem, dass ich eine Klasse mit main - Methode geschrieben habe. In dieser main - Methode wird ein Objekt der eigenen Klasse erzeugt.
Wie komme ich in anderen Klassen an genau dieses Objekt? (ohne static zu benutzen)

Java:
public class Test{

public static void main(String [] args){
	Test test = new Test();	
		
	}
}
 
Java:
public class Test{
 
public static void main(String [] args){
    Test test = new Test(); 
    AndererTest aTest = new AndererTest(test);
    aTest.doFoo();
}
}

Java:
public class AndererTest {
    private Test test;
    
    public AndererTest(Test test) {
        this.test = test;
    }

    public void doFoo() {
        // kennt test
    }
}

Galileo Computing :: Java ist auch eine Insel - 5 Eigene Klassen schreiben lesen!
 
Zuletzt bearbeitet von einem Moderator:
Oder du verwendest das umstrittene Singelton-Pattern 😛

Java:
public class Test{
    private static Test instance;

    private Test(){
    }

    public static Test getInstance(){
        if(Test.instance == null){
            Test.instance = new Test();
        }

        return Test.instance;
    }

    public static void main(String [] args){
        /* Diesen aufruf kannst du Global überall in dem Programm verwenden
         * und bekommst immer das selbe Objekt welcher (falls nciht vorhanden)
         * automatisch angelegt wird. */
        Test.getInstance();
    }
}

[EDIT]
Aber wie gesagt, das Pattern ist ziemlich umstritten da sich die Singelton-Klassen nur schwer mit Unittests testen lassen.
[/EDIT]
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben