Sun認定Java資格 実用情報【SJC-P用】at PROG
Sun認定Java資格 実用情報【SJC-P用】 - 暇つぶし2ch411:ジャバヒロ
04/01/19 02:36
public class Sample{
public static void main(String args[]){
int x = new int[1];
func(x);
System.out.println(String.valueOf(x[0]));
}

static void func(int x[]){
x[0] = 100;
}
}

↑これって「100」と出力されるんですけど、どうしてですか?
main()メソッドのx[0]は0で初期化されますよね?
で、func()メソッドの引数として獲得されるx[]には
main()メソッドで定義したx[]配列への参照がコピーして
渡されるんですよね?
func()メソッド内で x[0] = 100; としたところで
func()メソッドで獲得した引数としてのx[]の参照先が
変わるだけで、main()メソッドで定義したx[]配列には
影響ないんじゃないの?でも、「100」と出力されちゃう。
どなたか説明していただけませんか?
私の勘違いを指摘してください。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch