Java 向上转型的时候,子类调用了父类的默认构造函数,这代表创建了一个父类对象吗?

2024-10-30 23:23:46
有3个网友回答
网友(1):

没有创建父类对象,D的构造函数里隐式的有一个super();代表父类的构造函数,函数里输出了C,
对象是new出来 ,构造函数只是创建对象后进行初始化, 你的代码里只new了一个D
你的理解是调用构造函数即创建了一个对象,理解有问题.
对象的创建是new ,构造函数只是初始化,即在创建对象的同时执行了构造函数.

网友(2):

子类默认要super父类的无参构造函数,你这个父类又恰好是无参的,所以,子类里的构造函数不单单只有你写的那句,还有父类构造函数里的那句。

网友(3):

你new的是子类对象 只不过把这个对象当成父类来引用