注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Big鹏 ——学无止境

不谋万世者,不足谋一时;不谋全局者,不足谋一域

 
 
 

日志

 
 

Java参数传递类型  

2017-07-28 16:27:09|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、八大基本的数据类型毫无疑问是 “值传递”

 

Java参数传递类型 - marskobe - Big鹏 ——学无止境

 

 

2、简单数据类型的包装数据类型:例如Interger Long

 

传的可以说是“引用”,但表现出来的结果与 “传值”一样,因为它们里面的简单数据类型都是final的,不能被改变状态。

 

3、特殊的数据类型String(为char[]的包装类型):

 

Integer,需要注意无论是String s = "hello";还是String s = new String("hello"); 作为参数传递,表现出来的现象都与传值相同。

 

4类、接口、数组(例如:String[]:

 

都是传的引用


5测试


public class T1 {
public static void main(String[] args) {
System.out.println("***********************************Class类型User");
TsUser user = new TsUser(2, "lxn");
System.out.println("修改之前 " + user);
changeUser(user);
System.out.println("修改之后 " + user);
System.out.println("***********************************数组类型String[]");
String[] strArray = new String[]{"a", "b"};
System.out.println("修改之前strArray[0] " + strArray[0]);
changeArray(strArray);
System.out.println("修改之后strArray[0] " + strArray[0]);
System.out.println("***********************************String类型");
String str = "hellowrold";
String str2 = new String("helloworld2");
System.out.println("修改之前 " + "str: " + str + " str2: " + str2);
changeString(str);
changeString(str2);
System.out.println("修改之后 " + "str: " + str + " str2: " + str2);
System.out.println("***********************************包装数据类型Integer");
Integer integer = 0;
System.out.println("修改之前 " + integer);
changeInteger(integer);
System.out.println("修改之后 " + integer);
System.out.println("***********************************简单数据类型int");
int i = 0;
System.out.println("修改之前 " + i);
changeInt(i);
System.out.println("修改之后 " + i);

}

public static void changeUser(TsUser user) {
user.setName(user.getName() + " changed");
}

public static void changeString(String str) {
str = str + " changed";
}

public static void changeArray(String[] str) {
str[0] = "changed";
}

public static void changeInteger(Integer i) {
i = i + 1000;
}
public static void changeInt(int i) {
i = i + 1000;
}
}




测试结果如下:


Java参数传递类型 - marskobe - Big鹏 ——学无止境

 


  评论这张
 
阅读(5)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017