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的函数参数传递相关推荐

  1. java设计一个bank类实现银行_java定义一个类实现银行账户的概念。

    2016-11-17 13:40黄瞩信 客户经理 比如,只定义了一个抽象方法run(),而要通过系统用极短的时间.这5s内,此后这个线程就不能进入其它状态,进入消亡状态;+i++). 2,另一方面;, ...

  2. 一般函数指针和类(非MFC)的成员函数指针

    函数指针是通过指向函数的指针间接调用函数.函数指针可以实现对参数类型.参数顺序.返回值都相同的函数进行封装,是多态的一种实现方式.由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数的 ...

  3. python 类方法 函数_Python OOP类中的几种函数或方法总结

    概述 实例方法 使用实例调用时,默认传递实例本身到实例方法的第一个参数self 使用类调用时,必须传递一个实例对象到实例方法的第一个参数 静态方法 使用实例调用和类调用效果相同; 类方法 装饰器版: ...

  4. C++main函数的参数介绍以及如何在main函数前执行一段代码

    C++中参数介绍:https://www.cnblogs.com/jisongxie/p/7892366.html C++中主函数的执行过程以及如何在main函数前执行一段代码:https://www ...

  5. go 协程回调函数 传入参数_ECMAScript 6 入门教程—Generator 函数的异步应用

    作者 | 阮一峰异步编程对 JavaScript 语言太重要.JavaScript 语言的执行环境是"单线程"的,如果没有异步编程,根本没法用,非卡死不可.本章主要介绍 Gener ...

  6. python类的成员函数_Python为类对象动态添加成员函数

    Python: 为对象动态添加函数 , 且函数定义 来自一个 str 在 Python 中 , 通常情况下 , 你只能为对象添加一个已经写好的方法 需求 : 传入一个 str 类型的变量 , 其值是一 ...

  7. c语言怎样得到函数内参数的值_MySQL之自定义函数

    MySQL不仅内置了一些常用函数,同时也支持自定义函数,来满足开发者的需求 函数定义 MySQL的函数定义语法如下: CREATE functionName:函数名,同MySQL内置函数一样,大小写不 ...

  8. java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类

    下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的 ...

  9. java数组有跨类建立对象_Java性能优化的45个细节(珍藏版)

    点击上面 蓝色字体关注我们技术 / 架构 / 职场 / 面试 关注即送:4000G  架构师视频 来源:http://t.cn/EiP42VF 在JAVA程序中,性能问题的大部分原因并不在于JAVA语 ...

最新文章

  1. 微软 AI 设计原则:成为弱者,再带来惊喜
  2. Spring Boot/Cloud干货汇总(持续更新:20180226版)
  3. 网站优化之尽量避免重定向(301/302)
  4. 配置maven nenux仓库
  5. 《Swift开发实战》——第16章,第16.2节下标脚本用法
  6. EZ 2018 07 06 NOIP模拟赛
  7. HZOJ matrix
  8. 二维数组转稀疏数组,写入文件后再读取文件,将内容转回二维数组
  9. python内置作用域_python中的作用域
  10. csgo怎么控制电脑玩家_电脑怎么远程控制他人电脑,教您给电脑设置远程控制的方法...
  11. CPU怎么认识代码的?
  12. mysql数据库二级233_2013年计算机等级二级mysql数据库模拟试题及答案
  13. 【AD18】生成Gerber
  14. eclipse中文版 中英文切换
  15. 原生社区交友婚恋视频即时通讯双端APP源码 ONE兔2.0版
  16. 数组基础与字符串(尚学堂视频学习总结_004)
  17. vdat文件怎么转成mp4文件
  18. GBase XDM集群服务配置
  19. Assemle 基础知识总结
  20. 开发利器IntelliJ IDEA—带你体验各种神奇操作

热门文章

  1. C#使用七牛云存储上传下载文件、自定义回调
  2. 原生 js前端路由系统实现3之代码 构建工具 和 querystring功能
  3. Maven排除项目中同名不同版本的jar
  4. Android 自动化测试——Monkey测试
  5. c++ 输出二进制_Python入门3print格式化输出的几种方法
  6. oracle修改字符集
  7. python torch exp_学习Pytorch过程遇到的坑(持续更新中)
  8. python 图形_Python图形数据
  9. Mac os区别_SN及Mac地址烧录
  10. python字符串常量有什么区别_Python经典面试题:is与==的区别