本帖最后由 王振 于 2012-11-6 22:08 编辑
首先有几点是需要明确的:
1、当你创建一个类时,若不明确定义构造器,系统会自动为你自定义的类提供一个无参构造器。若定义若干个构造器(无论有参还是无参),系统将不再提供默认构造器。
2、当你定义一个类继承另一个类时,子类构造器会在第一句隐式的调用父类的无参构造器。
3、当你的父类中定义了一个有参构造器时,依据第一条,父类中将不存在无参构造器,这是子类若要调用父类无参构造器就会出错。
4、当出现第3条中的情况时,你只能在子类构造器中显式调用父类中可用的构造器,才能编译通过。
考虑到以上几点,又由于Object是所有类的父类,也就是说每个类的构造器中都会隐式的调用Object的无参构造器。
这种情况下,最好的方式就是在Object中显示的定义一个无参构造器,以避免上面第3条的情况。
希望可以对你有所帮助。
|