一。大家都知道,在JAVA中变量有以下两种:
基本类型变量,包括char、byte、short、int、long、float、double、boolean。
引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
二。具体原理
1.当基本类型的变量被当作参数传递给方法时,JAVA虚拟机所做的工作是把这个值拷贝了一份,然后把拷贝后的值传递到了方法的内部。因此在上面的例子中,在调用
Java代码
// 为方法参数重新赋值
public void change(int i) {
i = 5;
}
方法的情况下,变量i和ParamTest型对象t的属性num具有相同的值,却是两个不同变量。变量i是由JAVA虚拟机创建的作用域在change(int i)方法内的局部变量,在这个方法执行完毕后,它的生命周期就结束了。
2. 那么当引用型变量被当作参数传递给方法时JAVA虚拟机又是怎样处理的呢?同样,它会拷贝一份这个变量所持有的引用,然后把它传递给JAVA虚拟机为方法创建的局部变量,从而这两个变量指向了同一个对象。
三。结论
1.基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。
2.对象和引用型变量被当作参数传递给方法时,是引用传递。在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。
分享到:
相关推荐
日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习参考.rar日语复习...
JAVA语言与面向对象程序设计课程复习考试试题及答案B复习进程.pdfJAVA语言与面向对象程序设计课程复习考试试题及答案B复习进程.pdfJAVA语言与面向对象程序设计课程复习考试试题及答案B复习进程.pdfJAVA语言与面向...
Java(Javaweb)期末复习资料.复习大纲与考点整理.zip 复习笔记考点整理考试期末复习大纲 通用适用于各个本科Javaweb期末开始 Java(Javaweb)期末复习资料.复习大纲与考点整理.zip 复习笔记考点整理考试期末复习...
Java基础每日复习Blank.edf
考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习规划.pdf考研各科目阶段复习...
\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc\ARM复习题.doc
Java中引用类型传值的代码清单.pdf 学习资料 复习资料 教学资源
05_大数据技术之面试题复习1.6.pdf05_大数据技术之面试题复习1.6.pdf05_大数据技术之面试题复习1.6.pdf05_大数据技术之面试题复习1.6.pdf05_大数据技术之面试题复习1.6.pdf05_大数据技术之面试题复习1.6.pdf05_...
图像处理与模式识别复习资料.docx图像处理与模式识别复习资料.docx图像处理与模式识别复习资料.docx图像处理与模式识别复习资料.docx图像处理与模式识别复习资料.docx图像处理与模式识别复习资料.docx图像处理与模式...
(完整)MySQL数据库原理与应用期末考试复习资料.pdf(完整)MySQL数据库原理与应用期末考试复习资料.pdf(完整)MySQL数据库原理与应用期末考试复习资料.pdf(完整)MySQL数据库原理与应用期末考试复习资料.pdf(完整)MySQL...
微观经济学期末考试复习(二)复习过程.docx微观经济学期末考试复习(二)复习过程.docx微观经济学期末考试复习(二)复习过程.docx微观经济学期末考试复习(二)复习过程.docx微观经济学期末考试复习(二)复习过程.docx微观...
Java 复习汇总.md
Java程序设计复习题 Java程序设计复习题全文共19页,当前为第1页。Java程序设计复习题全文共19页,当前为第1页。一、选择题: Java程序设计复习题全文共19页,当前为第1页。 Java程序设计复习题全文共19页,当前为第...
信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与编码复习总结.rar信息论与...
y2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdfy2考试复习题.pdf
A.Java是面向过程的编程语言 B.Java支持分布式计算 C.Java是跨平台的编程语言 D.Java支持多线程 3. Java的核心包中,提供编程应用的基本类的包是 A 。 A.java.lang B.java.util C.java.applet D.java.rmi ...
java复习大纲
《微型计算机原理与接口技术》复习题.pdf《微型计算机原理与接口技术》复习题.pdf《微型计算机原理与接口技术》复习题.pdf《微型计算机原理与接口技术》复习题.pdf《微型计算机原理与接口技术》复习题.pdf《微型...