Re: [問題] java
※ 引述《johnchiang (錡)》之銘言:
: 因為實在看得不清不楚
: 乾脆直接PO出程式碼來問好了
: 這是某個課本上的範例
Account這個類別沒有主方法,程式不會從這邊執行
所以你問getAccountNumber()這個方法回傳去哪
我找只能跟你說,當呼叫getAccountNumber()這個方法的時候才會回傳
: public class Account
: { private String accountNumber;
: private double balance;
: public Account()
: {
: this("empty",0.0); //這一行的意思是不是說如果有一個Account物件被建立
: 但是沒有沒有初始值的話他就是("empty",0.0)嗎??
: }
: public Account(String accountNumber,double balance)
: {
: this.accountNumber=accountNumber;
: this.balance=balance;
: }
: public String getAccountNumber();
: {
: return accountNumber;
: }
當你呼叫getAccountNumber()這個方法的時候
才把accountNumber回傳
: public double getBalance()
: {
: return balance;
: }
: public void deposit(double money)//這行用了void代表沒有回傳值但是
: 但是為什麼最後結果還是會balance+=money;
: {
: balance+=money;
: }
因為方法主體裡面就是這樣寫
引入一個參數money,做balance+=money計算
: public double withdraw(double money)
: {
: balance-=money;
: return money;
: }
: }
: public class AccountDemo
: {
: public static void main(String[] args)
: {
: Account account=new Account();//為什麼這一行前面有Account
因為宣告一個Account參考值account,後面是new出一個Account物件
"="是將物件指定給account
: System.out.println("帳戶:"+account.getAccountNumber());
: System.out.println("餘額:"+account.getBalance());
上面這兩行,就是呼叫getAccountNumber()
return出accountNumber
: account=new Account("123-4567",100.0);//這一行前面卻沒有Account
account已經被Account了
現在只是new出一個新的Account的物件(accountNumber:123-4567,balance:100)
: account.deposit(1000.0);
: System.out.println("帳戶:"+account.getAccountNumber());
: System.out.println("餘額:"+account.getBalance());
: }
: }
所以現在有一個account參考值
兩個Account物件
: 程式有分為兩個部分
: 印出的結果為
: 帳戶:empty
: 餘額:0.0
: 帳戶:123-4567
: 餘額:1100.0
: 懇請高手大大幫我回答一下
: 我在//後面不懂的地方
: 回傳值的問題也很困擾我
: 像上面的地方deposit()是不用回傳值的方法
應該說那是一個不需要回傳值的方法
: 可是最後為什麼餘額的地方還是1000.0+100.0=1100.0
因為他呼叫了deposit方法
做了balance += 1000的計算
: 學java後在這裡一直遇到困難
: 可是我真的想學好他= =
: 看了好幾本書跟線上的資料都不是很清楚
看深處淺出java吧
: 助教也講得不清楚
: 所以懇求高手幫我解答一下
: 謝謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.162.216
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
7
11