Loosen Constructor super()/this() call restrictions

Marek Kozieł develop4lasu at gmail.com
Mon Mar 23 02:56:49 PDT 2009


2009/3/23 Howard Lovatt <howard.lovatt at iee.org>:
> A few notes:
>
> 3. You shouldn't be able to access super fields or any instance
> methods before super.
>
>  -- Howard.
>
>

Can you ensure that ?



   class A {
      private Bar   bar;

      public A(Bar bar) {
         setBar(bar);
      }

      protected void setBar(Bar bar) {
         this.bar = bar;
      }
   }

   class B extends A {
      private Bar   bar;
      private Foo   foo;

      public B(Bar bar, Foo foo) {
         super(bar);
         this.foo = foo;
      }

      protected void setBar(Bar bar) {
         this.bar = bar;
         this.foo = bar.foo;
      }
   }

Will code have same effect when constructor will be :
      public B(Bar bar, Foo foo) {
         this.foo = foo;
         super(bar);
      }


-- 
Pozdrowionka. / Regards.
Lasu aka Marek Kozieł

http://lasu2string.blogspot.com/



More information about the coin-dev mailing list