问哈,关于super的....我知道在子类里面调父类的构造方法的时候,super必须放在第一行.....如果不是构造方法呢,就是一般的方法,在子类里调父类的方法时,super是不是必须放在第一行?

解决方案 »

  1.   

    一般的非构造子方法 就没有这个限制了
    一般的非构造子方法调用父类的同名 是需要由具体的使用逻辑确定的 可以在开始部分 也可以在结尾 也可以在执行之中 而且 这种调用不是必须的而构造子要求super调用父类构造子需要在函数第一行是因为父类构造子负责了分配使用的内存空间的责任 这是必须的 即使你没有在子类构造子中显示调用父类构造子 编译器也会自动生成一个缺省的 调用父类无参构造子的过程(而如果是第一行用了this调用本类其它构造子就不能使用super是要确保整个构造过程中 父类构造子只会被调用过一次 重复分配内存是不行的)