java函数只有参数类不一样_java的函数参数传递
java中只有一种参数传递方式:传值;这点和c++不一样,c++中有传值和引用两种方式。虽然java只有传值这
一种传递方式,但是根据参数类型的不同,函数对参数的影响也会不一样。可以这么说:形参是实参的一份拷贝,
当参数类型是基本数据类型时,对形参的处理不影响实参,也就是你想通过形参交换两个实参是行不通的;当形参
是对象时(事实上,是对象的引用),形参和实参指向的是同一个对象,所以通过形参对对象进行操作会影响实参
所指向的对象。我们看看下面的swapList函数
//交换两个list对象
public static void swapList(List listA,List listB){
List temp = listA;
listA=listB;
listB=temp;
}
执行这个函数
List liA=new ArrayList();
List liB=new ArrayList();
int x=3;
int y=5;
liA.add(x);
liB.add(y);
swapList(liA,liB);//交换
for(int each:liA)
System.out.println(each);
发现打印出来的liA里面的元素还是3,说明交换没有成功,仔细想一下,就会发现执行swapList函数,listA、listB
分别是liA、liB的一份拷贝,listA与listB交换,listA指向了原来listB指向的对象,listB指向了原来listA指向的
对象,但是对listA和listB的处理不影响liA、liB。所以liA和liB还是分别指向原来的对象。
最后,python的参数传递方式与java基本一致。
java函数只有参数类不一样_java的函数参数传递相关推荐
- java设计一个bank类实现银行_java定义一个类实现银行账户的概念。
2016-11-17 13:40黄瞩信 客户经理 比如,只定义了一个抽象方法run(),而要通过系统用极短的时间.这5s内,此后这个线程就不能进入其它状态,进入消亡状态;+i++). 2,另一方面;, ...
- 一般函数指针和类(非MFC)的成员函数指针
函数指针是通过指向函数的指针间接调用函数.函数指针可以实现对参数类型.参数顺序.返回值都相同的函数进行封装,是多态的一种实现方式.由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的 ...
- python 类方法 函数_Python OOP类中的几种函数或方法总结
概述 实例方法 使用实例调用时,默认传递实例本身到实例方法的第一个参数self 使用类调用时,必须传递一个实例对象到实例方法的第一个参数 静态方法 使用实例调用和类调用效果相同; 类方法 装饰器版: ...
- C++main函数的参数介绍以及如何在main函数前执行一段代码
C++中参数介绍:https://www.cnblogs.com/jisongxie/p/7892366.html C++中主函数的执行过程以及如何在main函数前执行一段代码:https://www ...
- go 协程回调函数 传入参数_ECMAScript 6 入门教程—Generator 函数的异步应用
作者 | 阮一峰异步编程对 JavaScript 语言太重要.JavaScript 语言的执行环境是"单线程"的,如果没有异步编程,根本没法用,非卡死不可.本章主要介绍 Gener ...
- python类的成员函数_Python为类对象动态添加成员函数
Python: 为对象动态添加函数 , 且函数定义 来自一个 str 在 Python 中 , 通常情况下 , 你只能为对象添加一个已经写好的方法 需求 : 传入一个 str 类型的变量 , 其值是一 ...
- c语言怎样得到函数内参数的值_MySQL之自定义函数
MySQL不仅内置了一些常用函数,同时也支持自定义函数,来满足开发者的需求 函数定义 MySQL的函数定义语法如下: CREATE functionName:函数名,同MySQL内置函数一样,大小写不 ...
- java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类
下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的 ...
- java数组有跨类建立对象_Java性能优化的45个细节(珍藏版)
点击上面 蓝色字体关注我们技术 / 架构 / 职场 / 面试 关注即送:4000G 架构师视频 来源:http://t.cn/EiP42VF 在JAVA程序中,性能问题的大部分原因并不在于JAVA语 ...
最新文章
- 微软 AI 设计原则:成为弱者,再带来惊喜
- Spring Boot/Cloud干货汇总(持续更新:20180226版)
- 网站优化之尽量避免重定向(301/302)
- 配置maven nenux仓库
- 《Swift开发实战》——第16章,第16.2节下标脚本用法
- EZ 2018 07 06 NOIP模拟赛
- HZOJ matrix
- 二维数组转稀疏数组,写入文件后再读取文件,将内容转回二维数组
- python内置作用域_python中的作用域
- csgo怎么控制电脑玩家_电脑怎么远程控制他人电脑,教您给电脑设置远程控制的方法...
- CPU怎么认识代码的?
- mysql数据库二级233_2013年计算机等级二级mysql数据库模拟试题及答案
- 【AD18】生成Gerber
- eclipse中文版 中英文切换
- 原生社区交友婚恋视频即时通讯双端APP源码 ONE兔2.0版
- 数组基础与字符串(尚学堂视频学习总结_004)
- vdat文件怎么转成mp4文件
- GBase XDM集群服务配置
- Assemle 基础知识总结
- 开发利器IntelliJ IDEA—带你体验各种神奇操作
热门文章
- C#使用七牛云存储上传下载文件、自定义回调
- 原生 js前端路由系统实现3之代码 构建工具 和 querystring功能
- Maven排除项目中同名不同版本的jar
- Android 自动化测试——Monkey测试
- c++ 输出二进制_Python入门3print格式化输出的几种方法
- oracle修改字符集
- python torch exp_学习Pytorch过程遇到的坑(持续更新中)
- python 图形_Python图形数据
- Mac os区别_SN及Mac地址烧录
- python字符串常量有什么区别_Python经典面试题:is与==的区别