1、This has the added benefit of separating singleton code from the class code leaving the flexibility to use several instances of the class or using the class as a singleton.

2、The inner class code calls these static methods whenever it needs to access the mValue field or invoke the doStuff method in the outer class.