Public class test {</P> <p> // not static variable <br/> private int mage = 10; </P> <p> // static variable <br/> Private Static int mid = 1; </P> <p> // Single Instance Object <br/> Private Static Test test = NULL; </P> <p>/** <br/> * @ Param ARGs <br/> */<br/> Public static void main (string [] ARGs) {<br/> // todo auto-generated method stub <br/> system. out. println ("--- main () Start --->"); </P> <p> test = getintance (); </P> <p> innerclass IC; <br/> Ic = test. new innerclass (); </P> <p> system. out. println ("----------------"); </P> <p> test. setage (20); <br/> test. setid (2); </P> <p> innerstaticclass ISC; <br/> ISC = new innerstaticclass (); </P> <p> system. out. println ("--- main () end <---"); </P> <p >}</P> <p>/** <br/> * Get Single Instance Object <br/> */<br/> Public Static Test getintance () {<br/> If (null = test) {<br/> test = new test (); <br/>}</P> <p> return test; <br/>}</P> <p> Public int getage () {<br/> return mage; <br/>}</P> <p> Public void setage (INT age) {<br/> mage = age; <br/>}</P> <p> Public static int GETID () {<br/> return mid; <br/>}</P> <p> Public static void setid (int id) {<br/> mid = ID; <br/>}</P> <p>/** <br/> * not static inner class <br/> */<br/> public class innerclass {<br /> private int minnerage; <br/> private int minnerid; </P> <p> Public innerclass () <br/> {<br/> system. out. println ("innerclass"); <br/> minnerage = mage; // OK <br/> minnerage = getage (); // OK <br/> system. out. println ("minnerage =" + minnerage); </P> <p> minnerid = mid; // OK <br/> minnerid = GETID (); // OK <br/> system. out. println ("minnerid =" + minnerid ); <br/>}</P> <p>/* <br/> * static inner class <br/> */<br/> Public static class innerstaticclass {<br/> private int minnerage; <br/> private int minnerid; </P> <p> Public innerstaticclass () <br/>{< br/> system. out. println ("innerstaticclass"); </P> <p> // cannot make a static reference to the non-static field mage <br/> // minnerage = mage; </P> <p> // cannot make a static reference to the non-static method getage () from the type test <br/> // minnerage = getage (); <br/> system. out. println ("minnerage =" + minnerage); </P> <p> minnerid = mid; // OK </P> <p> minnerid = GETID (); // OK </P> <p> system. out. println ("minnerid =" + minnerid); <br/>}< br/>}
Output:
--- Main () Start --->
Innerclass
Minnerage = 10
Minnerid = 1
----------------
Innerstaticclass
Minnerage = 0
Minnerid = 2
--- Main () end <---