Re: [問題] 初學者的幾點小疑問
※ 引述《Pistachi.bbs@mobbs.stut.edu.tw》之銘言:
> > Letter x= new Letter();
> > x.c= 'a';
> > System.out.println("1:x.c: "+x.c);
> > f(x);
> > System.out.println("2:x.c: "+x.c);
> > }
> > }
> > 問題3: 為何第二次的輸出 x.c的字元是Z 而不是a 呢?
> > ps: 如果有有違反板規請告知 我會自d的(因為不知算不算是作業文^^u)
> 因為方法f是call by reference (?)
java 永遠傳遞變數的複本
會改變的原因是因為這不是一個 immutable object
object reference 持有物件,只要能操作 reference
並且不是以 immutable 設計基礎,即可以改變物件的內容。
--
╭╮╮╭ ╮╭┬╮╭╮╮ ╭────‧★☆ NUTN-BBS ☆★‧────╮
│╰││ │ │ │╰│ 臺 南 大 學 ⊙ 南 大 計 中
╰ ╯╰─╯ ┴ ╰ ╯ ╰───‧ ( bbs.nutn.edu.tw ) ‧───╯
Author: qrtt1 從 163.26.34.247 發表
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章