//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(); } }