java方法的参数传递有哪些方式,java传递参数方式
如何解决写爬虫IP受阻的问题?立即使用。
计算机向子程序传递参数有两种方法:
按值调用:该方法将参数值复制到子例程的形参中。这样,更改子例程的参数不会影响调用它的参数。
通过引用调用:在这个方法中,参数的引用(而不是参数值)被传递给子例程参数。在子例程中,引用用于访问调用中指定的实际参数。这样,子程序参数的变化就会影响调用子程序的参数。
在Java中,当您将简单类型传递给方法时,它是通过值传递的。因此,接收参数的子程序参数的改变不会影响该方法。请看下面的例子:
包toSzifucuan
Teshks类{
void meth(int i,int j) {
I *=2;
j/=2;
}
}
公共类CallByValue {
公共静态void main(String[] args) {
tes hks OOB=new tes hks();
int a=15,b=20
System.out.println(a和b初始值: a b );
oob.meth(a,b);
system . out . println(a和b的计算值: a b );
}
}程序给出的结果是:
和b的初始值:15,20
计算后a和b的值:15,20
如您所见,meth()内部发生的操作不会影响调用中A和B的值。
当您将对象传递给方法时,这种情况将会改变,因为对象是通过引用传递的。请记住,当您创建一个类类型的变量时,您只是创建一个对该类的引用。因此,当您将此引用传递给方法时,接受它的参数将指向该参数所指向的同一对象。这有力地证明了对象是通过引用调用传递给方法的。此对象中对象的更改确实会影响作为参数的对象。例如:
包toSzifucuan
Teshks类{
int a,b;
public Teshks(int i,int j) {
a=I;
b=j;
}
void meth(Teshks oo) {
oo . a *=2;
oo . b/=2;
}
}
公共类CallByValue {
公共静态void main(String[] args) {
Teshks oob=new Teshks(15,20);
System.out.println(a和B初始值: OOB . a OOB . B);
OOB . meth(OOB);
system . out . println( a和b: oob.a oob.b 的计算值);
}
}这个程序打印出来的结果是:
和b的初始值:15,20
A和B的计算值:30,10
在此示例中,meth()中的操作将对象作为参数进行影响。
将对象引用传递给方法时,引用本身是通过按值调用来传递的。但是,因为传递的值指向一个对象,所以该值的副本仍然指向其对应参数所指向的同一对象。
注意:当一个简单类型被传递给一个方法时,使用的是按值传递。对象是通过引用传递的。
PHP中文网站,有很多免费的JAVA入门教程,欢迎学习!以上是java参数如何传递参数的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。