在以下场景中
public class Parent1 { } public class Child1 extends Parent1 {} Child1 c1 = new Child1(); Child1 c2 = new Child1();
对象c1,c2还创建了Parent1类的两个对象?
你们可以告诉我如何实时查询?
提前致谢
答案 0 :(得分:3)
它不会创建Parent1
,但Parent1
中的任何字段也会存在于Child1
中,因此就使用的内存而言,它几乎就像一样确实如此,但事实并非如此。
答案 1 :(得分:3)
创建子对象时,也会为父对象的成员分配内存。您可以通过在父类的构造函数中使用System.out.println来检查是否正在创建父对象。
答案 2 :(得分:0)
子对象是父对象,所以是的,您创建了两个父对象:c1
和c2
。
这不是特定于Java的,它是面向对象编程的基础。