頁:
[1]
關於繼承的問題
我有一個建構子public class Transaction {
private int accountNumber;
private Screen screen;
private BankDatabase bankdatabase;
public Transaction(int n,Screen s,BankDatabase b){
accountNumber=n;
screen=s;
bankdatabase=b;
}
以下是他所繼承的class
public class BalanceInquiry extends Transaction{
public BalanceInquiry(int n,Screen s,BankDatabase b){
n=super.getAccountNumber();
s=super.getScreen();
b=super.getBankDatabase();
}
但是在這個繼承的建構子BalanceInquiry 卻出現錯誤Implicit super constructor Transaction() is undefined. Must explicitly invoke another constructor
請問各位大大這要怎麼解決
getAccountNumber()
getScreen()
getBankDatabase()
是Transaction中的三個子程式
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> public class BalanceInquiry extends Transaction
如果建構子第一行沒有明確呼叫父類別建構子
會自動加上 super()
但 Transaction() 沒有定義
有的是 Transaction(int n,Screen s,BankDatabase b)
所以第一行應該要呼叫 super(n1, s1, b1);
n1, s1, b1 的值就看你要給什麼了
看起來應該是把傳入 BalanceInquiry(n, s, b) 的值拿來用
但為何傳入後沒有使用,反而蓋掉區域的值,感覺有點怪
snowflying 發表於 2016-4-15 08:39 AM static/image/common/back.gif
public class BalanceInquiry extends Transaction
如果建構子第一行沒有明確呼叫父類別建構子
請問Transaction() 沒有定義是甚麼意思? ericwu830701 發表於 2016-4-15 11:45 AM static/image/common/back.gif
請問Transaction() 沒有定義是甚麼意思?
沒有參數的 Transaction() 找不到
只找到 Transaction(int n,Screen s,BankDatabase b)
Transaction() 和 Transaction(int n,Screen s,BankDatabase b)
不一樣 snowflying 發表於 2016-4-15 12:32 PM static/image/common/back.gif
沒有參數的 Transaction() 找不到
只找到 Transaction(int n,Screen s,BankDatabase b)
那請問一下,我只想要用
getAccountNumber()
getScreen()
getBankDatabase()
這三個子程式要怎麼寫才好<br><br><br><br><br><div></div> ericwu830701 發表於 2016-4-15 01:36 PM static/image/common/back.gif
那請問一下,我只想要用
getAccountNumber()
getScreen()
你想把那三個當做 super() 內的參數傳進去嗎?
但是 BalanceInquiry(int n,Screen s,BankDatabase b)
的 n, s, b 要用在什麼地方?
如果沒用到,不需要傳吧
頁:
[1]