这里写一下java的值传递
参数是基本类型的时候:
class param {
public static void main( String[] args ){
int x = -1 ;
change( x );
System.out.println("x = " + x );
}
public static void change( int x){
x = 10 ;
System.out.println("change(), x = " + x );
}
}
以上代码的结果大家应很清楚吧。
但是参数是对象的时候,可能就有点人迷糊了。
public class handleTitle {
public static void main(String[] args){
handleTitle.test t = new handleTitle().new test(1,1);
System.out.println(t.getX());
System.out.println(t.getY());
put(t);
System.out.println(t.getX());
System.out.println(t.getY());
}
public static void put( test t){
t.setX(5);
t.setY(6);
}
class test {
int x ;
int y ;
public test( int x , int y){
this.x = x;
this.y = y ;
}
public test(){
}
void setX(int xx){
x = xx;
}
int getX(){
return x;
}
void setY(int yy){
y = yy;
}
int getY(){
return y;
}
}
}
测试结果是:
1
1
5
6
从本质上来说,object reference是按值传递的,因此可以修改参数对象的内部状态,但是对参数对象重新赋值,没有意义
分享到:
相关推荐
Java中,方法参数的传递主要有两种方式:值传递(Pass by Value)和引用传递(Pass by Reference)。不过,Java并没有真正的引用传递,而是通过对象引用来模拟引用传递的效果。下面我们详细讨论这两种方式。 2. 值...
在Java中,函数调用时参数的传递有两种方式:传值(Pass by Value)和传引用(Pass by Reference)。传值是指函数接收的是变量副本的一个拷贝,而不是实际的变量本身。这意味着,当函数内部修改参数时,不会影响到...
在Java中,函数参数的传递方式只有两种,即按值传递(Pass by Value)和按引用传递(Pass by Reference)。实际上,Java中所有的参数传递都是按值传递,这意味着当你将一个变量传递给方法时,方法接收到的是该变量的...
- 传值(Pass By Value):传递的是变量的副本,对副本的修改不会影响原始变量。 - 传引用(Pass By Reference):传递的是变量内存地址的副本,因此可以通过副本修改原始变量的值。 6. **Map与HashMap**: - `...
Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程...后来,CORBA增加了传值(pass by value)功能,以实现RMI接口。然而RMI-IIOP和JRMP实现的接口并不完全一致。
- 传值调用(Pass by Value)是Java默认的参数传递方式,意味着函数内部无法改变实参的原始值。 3. **返回值** - 函数可以有返回值,也可以没有。如果函数有返回值,需要指定返回类型。没有返回值的函数使用`void...
- Java使用传值调用(pass-by-value),即传递给方法的是实参的一个副本。如果是引用类型的参数,则传递的是引用的副本。 - **封装(encapsulation)**: - 使用setter和getter方法可以增强对象的安全性。通过将实例...
Java采用传值调用(pass-by-value)机制。这意味着当参数传递到方法时,实际传递的是变量的副本,而不是变量本身。因此,方法内部对参数的修改不会影响到方法外部的变量值。 3. 方法调用: 调用无返回值方法时,只...
标题中的4个术语,对应的英文分别是:shallow copy(注意,不是shadow copy)、deep copy、pass by value、pass by reference(或pass by address)。传址和传引用是一回事。 一门编程语言的核心是数据结构,粗略来...
- **传引用与传值的区别**:Java不支持传引用(`pass-by-reference`),这与C++等语言有所不同。传引用是指传递变量的地址,而不是其值。 #### 四、方法重载与构造方法重载 - **方法重载概述**:方法重载(Overloading...
根据参数是否可变,参数又可分为传值参数(Pass by Value)和传引用参数(Pass by Reference)。C语言默认采用传值方式,而有些语言如C++支持传引用。 二、C语言中的参数运用 在C语言中,参数是函数接口的一部分,...
SELECT username, posts FROM members ORDER BY posts DESC LIMIT 10; ``` ### 23. 请说明PHP中传值与传引用的区别。什么时候传值什么时候传引用?(2分) - **传值**:函数内部对参数的修改不会影响到外部变量...
### 22、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分) **SQL示例:** ```sql SELECT username FROM members ORDER BY posts DESC LIMIT 10; ``` ### 23.请说明php中...