编译错误:构造方法必须是第一个语句

Constructor call must be the first statement in a constructor

代码样例

  1. /**
  2.  * Super的错误类型
  3.  * 
  4.  * @author 赵学庆,Java世纪网(java2000.net)
  5.  * 
  6.  */
  7. class  T {
  8.   T() {
  9.      int  i =  0 ;
  10.      super (i);
  11.   }
  12.   T( int  id) {
  13.      super ();
  14.      super ();
  15.   }
  16. }

错误解释:
在构造函数中调用父类构造函数super/this(...)必须位于第一句

解决方案:
将语句super/this位于第一句,且只能调用一次,因为第二个就不是第一行了。

  1. class  T {
  2.   T() {
  3.      this ( 0 );
  4.   }
  5.   T( int  id) {
  6.      super ();
  7.   }
  8. }

 

你可能感兴趣的:(Java)