Printing data of a singleton

Report a typo

Consider this singleton-class:

class Singleton {
    
    private static Singleton instance;
    
    public String data;
    
    private Singleton (String data) { 
        this.data = data;
    }

    public static Singleton getInstance(String data) {
        if (instance == null) {
            instance = new Singleton(data);
        }
        return instance;
    }
    
    public void printData() {
        System.out.print(data + " ");
    }
}

What does the following code print?

Singleton instance1 = Singleton.getInstance("data1");
Singleton instance2 = Singleton.getInstance("data2");
        
instance1.printData();
instance2.printData();
        
Singleton instance3 = Singleton.getInstance("data3");
instance3.data = "data4";
        
instance3.printData(); 
Select one option from the list
___

Create a free account to access the full topic