标签: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