JAVA中子类继承时构造方法注意事项
JAVA中子类继承时构造方法注意事项
类的继承不容易理解的一种情况:
父类只存在有参构造,子类的构造方法必需要做相应的处理,比如说也创建有参构造,为什么?
1、任何类,如果无显示的声明构造方法,都会默认隐式存在一个无参构造。
2、子类构造方法中如果不指定调用父类的哪个构造方法,都会隐式调用父类的无参构造。
3、如果父类中显示的定义了有参构造,就不会隐式的创建无参构造了。
4、此时的子类中隐式的构造中仍然会去掉用父类的无参构造,但是父类中并不存在无参构造了,所以会出错。
5、知道了原因就知道怎样去解决了。
a、父类中显示定义无参构造。
b、子类中显示的定义有参构造,调用父类的有参构造。
c、子类中显示的定义无参构造,调用父类的有参构造(因为不存在无参构造,只能手动的调用有参构造)。