Ral*_*lph -2 java oop constructor
当我准备接受有关OOP的采访时,我遇到了这个问题.
继承形式B. B继承自C.将初始化C的一个invoke构造函数?
我所知道的是构造不是继承的.我们必须使用super关键字来引用父的构造函数.我对吗?
Lui*_*oza 5
子类的构造函数将首先调用其超类的构造函数.如果一个类有几个祖先,这些调用将被堆叠,直到调用顶级祖先的构造函数为止.然后,它将继续执行下一个祖先的构造函数,直到执行了祖先的所有构造函数.您可以从这里推断出每次创建对象时Object,总是会调用类的构造函数.
Object
请注意,如果不在super()子类构造函数中添加调用,编译器将自动为您添加调用.如果超类没有默认构造函数,并且您没有在子类的构造函数中指定对超类的特定构造函数的调用,那么您将收到编译器错误.
super()
所有这些规则都在JLS中说明.
归档时间:
11 年,4 月 前
查看次数:
657 次
最近记录: