4.結果は以下のプログラムが動作して示しています:

結果は、実行中の次のプログラムを示します。

public class Example{
    String str=new String("tarena");
    char[]ch={'a','b','c'};
    public static void main(String args[]){
        Example ex=new Example();
        ex.change(ex.str,ex.ch);
        System.out.print(ex.str+" and ");
        System.out.print(ex.ch);
    }
    public void change(String str,char ch[]){
   //引用类型变量,传递的是地址,属于引用传递。
        str="test ok";
        ch[0]='g';
    }
}
A.tarenaとABC
B.tarenaとGBC
C.test OKとABC
D.test OKとGBC

B.選択したこのタイトル

文字列とchar配列は、参照型は、アドレスが元の変数の値に影響を与えます渡されますが、文字列は、なぜ特別な参照型で、参照型のですか?文字列型の値が不変にそれを設定し、いくつかのメモリを考慮するために、統合されたセキュリティ上の理由から不変であるので、不変で実現する方法ですか?具体的に文字列のためのメモリ内のJavaは、関数でデータが改ざんされていないロックするために使用される文字列定数プール、そのタイトルのstr変数を開き、元strはものではありません、それは地元の参照である、testokへのポイント文字列は、関数の最後で、それはまた、何もありませんが、char配列は、元の値を変更します

おすすめ

転載: blog.csdn.net/QiuBika_061/article/details/90181762