当前位置: 技术问答>java相关
Java only pass arguments by value.这句话怎么翻译啊?
来源: 互联网 发布时间:2015-02-26
本文导语: | java只安值传递参数 | java只通过值来传递参数。java中没有指针,所以不可能通过地址来进行参数传递。 | 首先,说明一下在JAVA中有:按值传递和按引用传递。 下面是我对这两...
|
java只安值传递参数
|
java只通过值来传递参数。java中没有指针,所以不可能通过地址来进行参数传递。
|
首先,说明一下在JAVA中有:按值传递和按引用传递。
下面是我对这两句话的理解,供大家参考。
//1。当一个对象作为一个参数传递倒一个调用的方法时,这时是按引用传递,传递的是该对象的首地址。
//2。这时对象的内容可以被它所调用的方法改变,而对象的引用是不变的。
下面是一个按引用传递的例子:
public class AboutPass
{
public static void main(String[] args)
{
StringBuffer sa1= new StringBuffer("java");
StringBuffer sa2=new StringBuffer("javac");
m(sa1,sa2);
System.out.println(sa1n+sa2);}
public void m(StringBffer a1,StringBuffer a2)
{
a1.append(a2);
a1=a2;}
}
out: javajavac
javac
下面是我对这两句话的理解,供大家参考。
//1。当一个对象作为一个参数传递倒一个调用的方法时,这时是按引用传递,传递的是该对象的首地址。
//2。这时对象的内容可以被它所调用的方法改变,而对象的引用是不变的。
下面是一个按引用传递的例子:
public class AboutPass
{
public static void main(String[] args)
{
StringBuffer sa1= new StringBuffer("java");
StringBuffer sa2=new StringBuffer("javac");
m(sa1,sa2);
System.out.println(sa1n+sa2);}
public void m(StringBffer a1,StringBuffer a2)
{
a1.append(a2);
a1=a2;}
}
out: javajavac
javac
|
"the object reference is never changed.
",是不是这个意思,在方法体中传给方法的句柄不能被改变(指向别处)。
",是不是这个意思,在方法体中传给方法的句柄不能被改变(指向别处)。
|
Java only pass arguments by value.这句话怎么翻译啊?
我觉得是不是说的是基本类型的时候采用的值传递呀!
在对象的时候采用传递句柄
我觉得是不是说的是基本类型的时候采用的值传递呀!
在对象的时候采用传递句柄