KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > Hello2


1
2 public class Hello2
3 {
4     public static void main(String JavaDoc args[])
5     {
6         new Hello2().foo(1);
7     }
8     int c=0;
9     int foo(final int i)
10     {
11         class LocalClass
12         {
13             class InnerClass
14             {
15                 int run ()
16                 {
17                     //System.out.println("in InnerClass run()");
18
class LocalClassNeverUsed
19                     {
20                         int run () // this is never called
21
{
22                             return i;
23                         }
24                         
25                     }
26                     new LocalClassNeverUsed().run();
27                     return new LocalClass().run();
28                 }
29             }
30             int run ()
31             {
32                 //System.out.println("c: "+c);
33
//c--;
34
//System.out.println("c: "+c);
35

36                 if (c--<0) /* prevent stack overflow*///{
37
//System.out.println("returning 0");
38
return 0;
39                 //}
40
//System.out.println("will created InnerClass");
41
InnerClass ic = new InnerClass();
42                 //System.out.println("created InnerClass");
43
return ic.run();
44                 //return new InnerClass().run();
45
}
46         };
47         //System.out.println("returning from foo");
48
return new LocalClass().run();
49     }
50 }
51
Popular Tags