码迷,mamicode.com
首页 > 其他好文 > 详细

对象数据类型作为实参

时间:2015-11-28 18:33:48      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:java

刚刚接触java,看了牛牧老师的视频,java的参数传递方式就是一种:“传值”。

  

public class Human {

public static void swap(int iNum, int jNum)

{

int temp = iNum;

iNum = jNum;

jNum = temp; 

}

public static void init(Student st)

{

Student temp = st;

st.name = "我在init被创建的";

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int i = 10;

int j = 7;

swap(i, j);

System.out.println("i="+i +", j="+j);//其实是没交换的,依然i=10,j=7

Student stu1 = new Student();

       Human.init(stu1);

       System.out.println("stu1的name = "+stu1.name);//显示:我在init被创建的

}


}


在java里,当对象作为实参传递的时候,引用理解为地址的传递应该是正确的,所以才会出现在init方法中修改,而在主方法里打印出来。


基本数据类型作为实参:拷贝一份副本

对象数据类型作为实参: 地址的传递(类似c++的)


我只是初学者,希望在错误中得到更多的知识。

对象数据类型作为实参

标签:java

原文地址:http://bigmoon.blog.51cto.com/10502782/1717750

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!