我试图在子类中正确使用和理解构造函数。让我们从一些代码开始:
// creating an object
account = new CreditAccount(accountNumber, personalNumber);
// constructor in superclass Account
public Account(int aNumber, int pNumber) {
accountNumber = aNumber;
personalNumber = pNumber;
}
// constructor in the subclass CreditAccount
public CreditAccount(int aNumber, int pNumber) {
super(accountNumber, personalNumber);
}
当我创建新对象 creditAccount
时,我将 accountNumber
和 personalNumber
发送到子类中的构造函数。但我做得对吗? (它不起作用!)我要在子类中使用 super 来获取父类(super class)构造函数的内容吗?
由于子类仅从父类(super class)继承数据成员和方法,而不是构造函数,我很好奇如何正确执行此操作?
最佳答案
您没有指定什么不起作用,所以我认为这是简单的调用错误:
public CreditAccount(int aNumber, int pNumber) {
super(accountNumber, personalNumber);
}
您应该使用相关参数调用 super()
,这些参数是派生类构造函数的输入:
public CreditAccount(int aNumber, int pNumber) {
super(aNumber, pNumber);
}
关于java - 关于子类构造函数中的 super?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8700128/