1 19 20 21 import java.util.Vector ; 22 23 public class AnonymousJavac { 24 class Inner { 25 int var = 3; 26 27 public void test() { 28 final long longVar = 5; 29 final double dblVar = 3; 30 class Hello { 31 int var = (int) longVar; 32 33 { 34 System.err.println("all constructors"); 35 } 36 37 Hello() { 38 System.err.println("construct"); 39 } 40 Hello(String info) { 41 System.err.println("construct: "+info); 42 } 43 44 private void hello() { 45 this.hashCode(); 46 Inner.this.hashCode(); 47 Inner.this.var = var; 48 AnonymousJavac.this.hashCode(); 49 System.err.println("HelloWorld: "+dblVar); 50 } 51 }; 52 final Hello hi = new Hello(); 53 final Hello ho = new Hello("ho"); 54 final Object o = new Object () { 55 int blah = 5; 56 Hello hii = hi; 57 Hello hoo = new Hello("hoo"); 58 59 { 60 System.err.println("Anonymous Constructor speaking"); 61 } 62 63 public String toString() { 64 this.hii.hello(); 65 hi.hello(); 66 return Integer.toHexString(AnonymousJavac.this.hashCode() 67 +blah); 68 } 69 70 { 71 System.err.println("Anonymous Constructor continues"); 72 } 73 74 }; 75 Object p = new Object () { 76 public String toString() { 77 return o.toString(); 78 } 79 }; 80 81 Inner blub1 = new Inner("Inner param") { 82 Hello hii = hi; 83 84 public void test() { 85 System.err.println("overwritten: "+hii+hi); 86 } 87 }; 88 89 Inner blub2 = new AnonymousJavac().new Inner("Inner param") { 90 Hello hii = hi; 91 92 public void test() { 93 System.err.println("overwritten: "+hii); 94 AnonymousJavac.this.hashCode(); 95 } 96 }; 97 98 class Hi extends Inner { 99 public Hi() { 100 super("Hi World"); 101 } 102 } 103 104 Vector v = new Vector (hi.var, var) { 105 Hello hii = hi; 106 public Object clone() { 107 return super.clone(); 108 } 109 }; 110 111 Hi hu = new Hi(); 112 113 } 114 Inner (String str) { 115 } 116 } 117 118 119 public void test() { 120 class Hello { 121 int var = 4; 122 123 Hello() { 124 System.err.println("construct"); 125 } 126 Hello(String info) { 127 System.err.println("construct: "+info); 128 } 129 130 public void hello() { 131 this.hashCode(); 132 AnonymousJavac.this.hashCode(); 133 System.err.println("HelloWorld"); 134 } 135 }; 136 final Hello hi = new Hello(); 137 final Hello ho = new Hello("ho"); 138 final Object o = new Object () { 139 int blah = 5; 140 Hello hii = hi; 141 142 public String toString() { 143 this.hii.hello(); 144 hi.hello(); 145 return Integer.toHexString(AnonymousJavac.this.hashCode() 146 +blah); 147 } 148 }; 149 Object p = new Object () { 150 public String toString() { 151 return o.toString(); 152 } 153 }; 154 155 Inner blub1 = new Inner("Inner param") { 156 public void test() { 157 System.err.println("overwritten"); 158 } 159 }; 160 161 Inner blub2 = new AnonymousJavac().new Inner("Inner param") { 162 public void test() { 163 System.err.println("overwritten"); 164 } 165 }; 166 167 class Hi extends Inner { 168 public Hi() { 169 super("Hi World"); 170 } 171 } 172 173 Vector v = new Vector (hi.var, new Inner("Hi").var) { 174 public Object clone() { 175 return super.clone(); 176 } 177 }; 178 179 Hi hu = new Hi(); 180 } 181 } 182 | Popular Tags |