不能,当你new一个子类对象的时候,必须首先要new一个父类的对象出来,而这个父类对象肯定是位于子类对象的内部,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法,所谓默认的构造方法,就是无参构造方法,所以有时候当你new一个子类对象的时候,肯定调用了子类的构造方法,但是在子类构造方法中我们并没有显示的调用父类的构造方法,就是没写,如:super(); 并没有这样写,但是这样就会调用父类无参的构造方法,如果父类中没有无参构造方法就会出错。
继承中构造方法调用次序
- 当类存在继承关系时,创建该类对象,
- 系统先创建父类对象,再创建该子类对象
所以构造方法的调用次序是先父后子
以上是个人的见解,如有不同见解可发表评论,大家可以讨论讨论,共同进步~