I would like to share an object between various instances of objects of the same class.
Conceptually, while my program is running, all the objects of class A access
Assuming everything is in the same class loader, then why not use the monostate pattern to do this?
Your shared static is hidden in the monostate:
public class Monostate {
private static String str = "Default";
public String getString() {
return str;
}
public void setString(String s) {
str = s;
}
}
Then you are free to create as many instances of the monostate as you like, but they all share the same underlying object due to the static reference.
Monostate mono = new Monostate();
mono.setString("Fred");
System.out.println(mono.getString());