浅谈Java参数传递机制
2024-09-02 20:40:06
Java参数传递
才疏学浅,今天才知道Java中方法的参数是可以传递对象引用进去的。
Java的参数传递机制很简单,其实就是值传递。
所谓值传递,也就是我们在给方法传递一个参数的时,传递的是该参数的一个拷贝而不是参数本身。
所以我们可以将传参分为两大类,一类是传递基本类型的变量,另一类就是对象的引用。
基本类型变量的传参,前面已经说了,意味着变量被拷贝,然后将拷贝的值传给方法。所以无论方法如何操作,方法也不会影响到原变量。
引用的值传递,就是赋值对象的地址传递给Java方法,那么JVM就会寻址找到该对象,所以该方法根据引用的方法会影响对象本身。
下面给出一些实例:
// 当传入基本类型变量时
public class main{
public static void main(String[] args) {
int a = 1;
Test t1 = new Test();
t1.changeNum(a);
System.out.println(a);
}
}
class Test{
public void changeNum(int i) {
i = 0;
}
}
>>> 输出结果为 1
// 当传入对象引用时
public class main{
public static void main(String[] args) {
Num a = new Num();
Test b = new Test();
b.changeNum(a);
System.out.println(a.k);
}
}
class Test{
public void changeNum(Num i) {
i.k = 0;;
}
}
class Num{
public int k = 1;
}
>>> 输出结果为 0
最新文章
- iOS 模拟器上录制Demo视频
- EXPLAIN PLAN获取SQL语句执行计划
- VS2008的默认打开重置为VS2008
- arm汇编(c内嵌汇编及c和汇编互调)
- Ajax跨域之ContentType为application/json请求失败的问题
- 企业级Harbor介绍及安装
- 【css3】使用filter属性实现改变svg图标颜色
- Git的安装和使用
- June. 20 2018, Week 25th. Wednesday
- python 第三方包安装
- WebStorm记录(2)
- css概括2
- 【转】svn:is not under version control and is not part of the commit, yet its child解决办法
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
- jquery插件artTxtCount输入字数限制,并提示剩余字数
- Oracle VM VirtualBox各种显示模式切换 热键
- Soa思想分布式服务webservice WCF
- 数据结构与算法--最小生成树之Prim算法
- Hibernate的七种映射关系之七种关联映射(一)
- (转)rootvg镜像
热门文章
- Android平台接入OneNET
- Spring MVC启动流程分析
- winform不能循环引用,使用接口传值到界面
- File的获取功能(新手)
- Mybatis总结一之Mybatis项目的创建
- DOTNET CORE源码分析之IServiceProvider、ServiceProvider、IServiceProviderEngine、ServiceProviderEngine和ServiceProviderEngineScope
- nmap加载nse脚本在内网渗透中的使用-上
- NBL小可爱纪念赛「 第一弹 」 游记(部分题解)
- Building Applications with Force.com and VisualForce(Dev401)(十六):Data Management: Introduction to Upsert
- OpenCV-Python 理解特征 | 三十六