値の転送と参照の転送について
2125 ワード
Javaには、次の2つの変数があります.
1.基本型変数:char,byte,short,int,long,float,double,boolean.
2.参照タイプ変数:クラス、インタフェース、配列(基本タイプ配列とオブジェクト配列)を含む.
この部分のコードは详しく値の伝达と引用の伝达の関系を说明しました.値の伝达はただCopyが过去になっただけです.した动作は本当の値と関系します.引用の伝达はアドレスの上の変化です.だから相応の影响があります
パラメータ-ベースタイプの元の値:0賦値後:0 String変更後:1234演算後:0演算後:1234変更後:0参照変更後:20参照変更後welcome
1.基本型変数:char,byte,short,int,long,float,double,boolean.
2.参照タイプ変数:クラス、インタフェース、配列(基本タイプ配列とオブジェクト配列)を含む.
public class ParamTest {
// 0
protected int num=0;
//String
String str="1234";
//
public void change(int i)
{
i=5;
}
public void change(String str)
{
str="4556";
}
//
public void change(ParamTest t)
{
ParamTest tmp=new ParamTest();
tmp.num=9;
tmp.str=" ";
t=tmp;
}
//
public void add(int i)
{
i+=10;
}
//
public void add(ParamTest t)
{
t.num+=20;
t.str="welcome";
}
public static void main(String[] args) {
ParamTest t=new ParamTest();
System.out.println(" - ");
System.out.println(" :"+t.num);
//
t.change(t.num);
System.out.println(" :"+t.num);
t.change(t.str);
System.out.println("String :"+t.str);
//
t.change(t);
System.out.println(" :"+t.num);
System.out.println(" :"+t.str);
//
t.add(t.num);
System.out.println(" :"+t.num);
//
t.add(t);
System.out.println(" :"+t.num);
System.out.println(" " + t.str);
}
}
この部分のコードは详しく値の伝达と引用の伝达の関系を说明しました.値の伝达はただCopyが过去になっただけです.した动作は本当の値と関系します.引用の伝达はアドレスの上の変化です.だから相応の影响があります
パラメータ-ベースタイプの元の値:0賦値後:0 String変更後:1234演算後:0演算後:1234変更後:0参照変更後:20参照変更後welcome