Why does this() and super() have to be the first statement in a constructor?
Vimil Saju
vimilsaju at yahoo.com
Fri Oct 7 09:51:20 PDT 2011
If you have subclass then java requires that this() or super has to be first statement in the constructor of the subclass.
Here is an example
publicclassMyClass{
publicMyClass(intx){}
}
publicclassMySubClassextendsMyClass{
publicMySubClass(inta,intb){
intc =a +b;
super(c); // COMPILE ERROR
}
}The above compilation error can be resolved by rewriting the code in the constructor as follows
publicclassMySubClassextendsMyClass{
publicMySubClass(inta,intb){
super(a + b);
}
}Can't the Java compiler detect that in the previous code there was no access to the instance fields or methods and therefore allow the code to compile without any error.
More information about the coin-dev
mailing list