Различные ссылки на один и тот же объект (? )объект

Недавно я спросил о получении уникального экземпляра класса из другого класса.

(Как получить конкретный экземпляр класса из другого класса в Java?)

Итак, я пытаюсь заставить это работать:

МойApplication:

public class Application
{

    // I will always have only one instance of Application

    private static Application _application;

    // Every instance of Application (one in my case) should have its own View

    private View view;

    // Constructor for new instance of Application

    private Application()
    {
        view = new View();
    }

    // Getter for my unique instance of Application

    public static Application getSharedApplication()
    {
        if (_application == null)
            _application = new Application();
        return _application;
    }

    // Main class

    public static void main(String[] args)
    {
        // So I'm accessing my instance of Application
        Application application1 = getSharedApplication();

        // Here is object reference
        System.out.println(application1);

        // And now I'm accessing the same instance of Application through instance of View
        Application application2 = application1.view.getApplication();

        // Here is object reference
        System.out.println(application2);
    }

}

МойView:

public class View
{

    // I'm accessing my instance of Application again

    public static Application application = Application.getSharedApplication();

    // This method should return my unique instance of Application

    public Application getApplication()
    {
        return application;
    }

}

Проблема в том, что метод mainвозвращает разные ссылки на объекты.

Application@1430b5c
Application@c2a132

Что не так с моим кодом?

5
задан Community 23 May 2017 в 12:27
поделиться