Java 按值传递参数
类别: JAVA教程
Java 按值传递参数
对于一个普通类型的变量来说,这很好理解.比如 int,String类型的变量,可是如果是如果变量是一个类类型的呢?那它的值是什么呢?它的值就是它的引用,
我们不能改变传进来参数的值,这句话是什么意思呢?就是对于传进来的参数,我们不能改变.还是对于普通变量这很好理解.
举个例子:
int i=0;
public void changeParam(int i)
{
i=9;
}
System.out.print(i);
输出会是什么呢?一定是0 .为什么呢?这就是java按值传递参数的特征,我们传进去的是0,而不是一个可以更改的变量
那么对于一个类作为变量呢?我们同样不能改变,上面说过它是一个引用,就是说我们不能改变这个引用,但是我们却可以改变这个引用的对象的值,
看起来有点别扭吧,就是说这个变量引用了类的实例A我们不能在方法体中改变它引用类的实例B,但是我们可以改变实例A的内容.
就是这么一回事!
对于一个普通类型的变量来说,这很好理解.比如 int,String类型的变量,可是如果是如果变量是一个类类型的呢?那它的值是什么呢?它的值就是它的引用,
我们不能改变传进来参数的值,这句话是什么意思呢?就是对于传进来的参数,我们不能改变.还是对于普通变量这很好理解.
举个例子:
int i=0;
public void changeParam(int i)
{
i=9;
}
System.out.print(i);
输出会是什么呢?一定是0 .为什么呢?这就是java按值传递参数的特征,我们传进去的是0,而不是一个可以更改的变量
那么对于一个类作为变量呢?我们同样不能改变,上面说过它是一个引用,就是说我们不能改变这个引用,但是我们却可以改变这个引用的对象的值,
看起来有点别扭吧,就是说这个变量引用了类的实例A我们不能在方法体中改变它引用类的实例B,但是我们可以改变实例A的内容.
就是这么一回事!
- 上一篇: Java Reflection (JAVA反射)
- 下一篇: Java中异常机制的研究
-= 资 源 教 程 =-
文 章 搜 索