Java中传值和传址的问题

原创 2006年06月08日 16:46:00

Java中取消了指针,不可能像C一样直接操作内存,但是由于对象的动态联编性,复杂数据类型作参数相当于指针的使用,即地址传递,而基本数据类型作参数传递则相当于值传递.看下面程序:

class swapByValue
{
 int x,y;
 public swapByValue (int x, int y)
 { 
  this.x=x;
  this.y=y; 
 }
 public void swap(int x,int y)
 {
  int z;
  z=x; x=y; y=z;
  System.out.println(x);
  System.out.println(y);
  this.x=x;  //没有这两句,结果就不能成功,因为int是基本数据类型,传的是值
  this.y=y;
 }
 public static void main(String args[])
 {
  swapByValue s= new swapByValue (3,4);
  Transcript.println("Before swap: x= "+s.x+" y= "+s.y);
  s.swap(s.x,s.y);
  Transcript.println("After swap: x= "+s.x+" y= "+s.y);}
 }

Java中的传值引用和传址引用

传值引用主要是针对基本数据类型而言。所谓传值引用,就是在进行变量的传递过程中,传递的是变量的实际的值,是一个新的拷贝,一个变量值不会影响另一个变量值得改变。       eg: public cl...
  • MYBOYER
  • MYBOYER
  • 2013年02月19日 16:20
  • 490

java学习02-传值调用和传址调用

传值调用 传值调用不会改变变量的值,在函数弹栈后,原变量的值不变。 class Demo {       public static void main(String[] args)  ...

Java方法传值和传址分析

前段时间跟同学讨论了java中方法是传值还是传址的问题。 得出一个结论:java中一直是传值。 先看一段代码:public class Main { public static void ...

JAVA中传值与引用问题

  • 2010年09月15日 09:36
  • 10KB
  • 下载

Java中传值与传址、static、继承、重写、super

Ctrl + Alt +S:快速产生get与set方法、构造方法等。 栈:一般是方法调用时进入的区域 方法中永远使用与方法最近的参数。1. 传值与传址 指的是方法调用时的参数传递。 a....

Ajax向java后台中传值为数组时,后台接收不到(为null)的问题

项目中前端jsp页面中有复选框,需要使用到ajax把这些值传递到java后台的操作。因为还需要返回数据到前端页面,所以无法使用form表单提交。 (对了,我在一群里问了这个问题,然后两个热心...

Python的传值和传址与copy和deepcopy

Python的传值和传址与copy和deepcopy 1.传值和传址 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面...
  • WHACKW
  • WHACKW
  • 2015年01月10日 18:00
  • 514

js- 引用和复制(传值和传址)

好像一般很少人讲到js中的引用和复制,不过弄清楚这个概念可以帮助理解很多东西 先讲一下很基础的东西,看看js中几种数据类型分别传的什么 引用:对象、数组、函数 复制:数字、布尔 字符串单独说明...

深入讨论传值和传址

在C和C++中我们一直使用两种比较传统的形参传递方式,一种是传值一种是传址,对于他们,我们的理解是:传值调用的话,传的是内容,形参的改变不会影响实参,传址的话形参的改变会影响实参。究其原因的话:传址是...
  • a199228
  • a199228
  • 2011年07月25日 13:48
  • 518

关于传值调用和传址调用的说明

刚学习C语言的时候就很
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中传值和传址的问题
举报原因:
原因补充:

(最多只允许输入30个字)