Java方法中参数的数据类型如何影响变量传递?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3440个文字,预计阅读时间需要14分钟。
在前言中,你可能只需要看以下三句话的内容,这篇文章的目的是讲解清晰以下概念:
1. Java的传参方式只有传值。
2.Java程序设计语言总体是采用按值调用(call by value)。
3.如果这三句话你都理解透彻,就可以跳过后续内容。
写在前面 你可能只需要看写在前面
这篇文章的内容就是讲清楚以下三句话,如果这三句话都理解透的同学,可绕过。
- Java的传参方式只有传值。Java程序设计语言总是采用按值调用(call by value)。也就是说,方法得到的是所有参数值的一个副本。具体来讲,方法不能修改传递给它的任何参数变量的内容。(Java核心技术卷I)
- Java的基本类型变量里保存的是数据本身的值
- Java的引用类型变量里保存了其引用的数据(可以是类类型、接口或数组等一切非基本类型数据)的地址。
形参复制了一份实参的值。不管参数是基本类型或引用类型,都是将实参变量的值复制一份给形参变量。注意:是复制变量的值。所以,基本类型形参复制的是其数据本身的值,引用类型的形参复制的是被引用数据的地址。
下面还有两问,如果觉得自己上面三句话都理解透了,但下面这两问又把自己搞蒙了的同学,对不起,你没透。
- 某方法的形参为数组,并在方法中修改了这个数组其中一个元素的值,且此方法没有返回值。为什么方法调用结束后,实参所引用数组的这个元素的值也改了?
- 某方法的一个形参为某个对象,并在方法中修改了这个对象的属性值,且此方法没有返回值。
本文共计3440个文字,预计阅读时间需要14分钟。
在前言中,你可能只需要看以下三句话的内容,这篇文章的目的是讲解清晰以下概念:
1. Java的传参方式只有传值。
2.Java程序设计语言总体是采用按值调用(call by value)。
3.如果这三句话你都理解透彻,就可以跳过后续内容。
写在前面 你可能只需要看写在前面
这篇文章的内容就是讲清楚以下三句话,如果这三句话都理解透的同学,可绕过。
- Java的传参方式只有传值。Java程序设计语言总是采用按值调用(call by value)。也就是说,方法得到的是所有参数值的一个副本。具体来讲,方法不能修改传递给它的任何参数变量的内容。(Java核心技术卷I)
- Java的基本类型变量里保存的是数据本身的值
- Java的引用类型变量里保存了其引用的数据(可以是类类型、接口或数组等一切非基本类型数据)的地址。
形参复制了一份实参的值。不管参数是基本类型或引用类型,都是将实参变量的值复制一份给形参变量。注意:是复制变量的值。所以,基本类型形参复制的是其数据本身的值,引用类型的形参复制的是被引用数据的地址。
下面还有两问,如果觉得自己上面三句话都理解透了,但下面这两问又把自己搞蒙了的同学,对不起,你没透。
- 某方法的形参为数组,并在方法中修改了这个数组其中一个元素的值,且此方法没有返回值。为什么方法调用结束后,实参所引用数组的这个元素的值也改了?
- 某方法的一个形参为某个对象,并在方法中修改了这个对象的属性值,且此方法没有返回值。

