java中方法入参解析
参数分为基本类型参数和对象类型参数
当基本数据类型(Boolean,byte,char,String,int,Long,float,double)作为参数传递时,传递的是实参值的副本,即传的是值,无论在函数中怎么操作这个副本,实参的值是不会被改变的。
当对象作为参数传递时,实际上传递的是一份“引用的拷贝”。 (实际传递的是对象的引用)。对象的内部值可以被改变,但对象的引用不能被改变
当入参被final关键词修饰时
基本类型被final修饰,基本类型参数的值在方法体内不允许被改变;如果试图改变,则会引起编译器报错;
对象类型的值被final修饰,引用是不可以变得,否则编译是不能够通过的;但是,对象内部的值是可以改变的;
链接: Java方法参数(形参)被final修饰符修饰详解.
链接: 关于Java对象作为参数传递是传值还是传引用的问题.
图片: