// how to create reference? class Soup ... { private Soup()...{} public static Soup makeSoup()...{//ths first method:,Allow creation via static mehtod; System.out.println("makeSoup()"); return new Soup(); } private static Soup ps1=new Soup();//the second method:Create a static object and public static Soup access()...{ //return a reference upon request. System.out.println("access()"); return ps1; } public void f()...{}} class Sandwich ... { void f()...{System.out.println("new Lunch()");new Lunch();} } public class Lunch ... { public static void main(String[] args)...{ //Soup priv=new Soup(); Can't do this!private constructor Soup priv2=Soup.makeSoup(); Soup priv1=Soup.access(); Sandwich f1=new Sandwich(); f1.f(); } }