另请参阅:
父类没有无参构造方法,子类怎么办?
* super解决:用super(....)显式调用父类的有参构造,如:super(name,age);->super("zs",30);
* this解决:通过this调用本类的有参构造,然后在本类的有参构造里,又调用了父类的有参构造,相当于间接调用父类的有参构造.
* B:注意事项
* super(…)或者this(….)必须出现在构造方法的第一条语句上,只能出现其一
总之,子类对象初始化的时候,必须访问父类的构造方法,但注意不是一定要访问父类的无参构造,访问父类的有参构造也是可以的.只是在默认情况下 系统会走父类的无参构造方法,如果父类只有有参构造,那么我们就只能访问父类的有参构造了.
这样我们就必须在子类的构造方法中明确指出调用父类的有参构造,这样就不会走父类的无参构造了
|