You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

InitializationOrder.java 657B

123456789101112131415161718192021222324252627282930313233
  1. import org.aspectj.testing.Tester;
  2. public class InitializationOrder {
  3. public static void main (String[] args) {
  4. C c = new C();
  5. Tester.check(null != c.s, "null == c.s");
  6. Sub s = new Sub();
  7. Tester.check("ok" == s.o, "\"ok\" == s.o");
  8. Tester.check(null == s.p, "null == s.p");
  9. }
  10. }
  11. class C {
  12. public String s = null;
  13. C(String s) { this.s = s; }
  14. C() { this("uh oh"); }
  15. }
  16. class S {
  17. public Object p;
  18. S(Object p) {this.p = p;}
  19. }
  20. class Sub extends S {
  21. Sub() {
  22. super(null); // if (o), then C E illegal use of uninitialized value
  23. o = "ok";
  24. }
  25. Object o;
  26. }