java方法的参数传递有哪些方式,java传递参数方式

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: