java中引用super构造函数

class Base{
Base(){
        System.out.println("Base");
        }
} 

public class Checket extends Base{
Checket(){
      System.out.println("Checket");
    super(); }
public static void main(String[] args){ Checket c = new Checket(); } }

上面代码中Checket构造函数中引用了super();但是super();不是放在构造函数的首位,如果没有放在构造函数第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法,那么以前所做的修改就都回到以前,也就是恢复到父类的构造器方法了,所以不能通过编译,应改为:

public class Checket extends Base{
Checket(){
       super();
      System.out.println("Checket");
   
}

 

posted @ 2017-03-21 12:50  众里寻他壹贰度  阅读(700)  评论(0编辑  收藏  举报