`
serenity
  • 浏览: 61049 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

<转>Java参数传递方式

阅读更多

1、对于原始数据类型,也就是int、 long、char之类的类型,是传值的,如果你在方法中修改了值,方法调用结束后,那个变量的值没有改变。 
2、对于对象类型,也就是Object的子类,如果你在方法中修改了它的成员的值,那个修改是生效的,方法调用结束后,它的成员是新的值,但
是如果你把它指向一个其它的对象,方法调用结束后,原来对它的引用并没用指向新的对象。 
代码如下:

java 代码
  1. public class Tester {    
  2.     public static void main(String[] args) {    
  3.         int primitive = 2;    
  4.         changePrimitive(primitive);    
  5.         //primitive的值依然是2    
  6.         MyClass myClass = new MyClass();    
  7.         changeObject(myClass);    
  8.         //myClass仍然指向的是执行changeObject之前的那个对象    
  9.         //但是myClass.i等于3了    
  10.     }    
  11.   
  12.     public static void changePrimitive(int primitive) {    
  13.         primitive = 3;    
  14.     }    
  15.   
  16.     public static void changeObject(MyClass myClass) {    
  17.         myClass.i = 3;    
  18.         myClass = new MyClass();    
  19.     }    
  20. }    
  21.   
  22. class MyClass {    
  23.     int i;    
  24. }   

 


另一个解释
1、基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的
2、在Java中对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。

 

转自http://yousking.iteye.com/blog/65164

 

分享到:
评论

相关推荐

    spring,cxf,restful发布webservice传递List,Map,List&lt;Map&gt;

    spring,cxf,restful发布webservice传递复杂对象,例如List,Map,List&lt;Map&gt;

    Java JDK实例宝典

    3 Java的参数传递 &lt;br&gt;2. 4 自定义形状类 &lt;br&gt;2. 5 类的加载顺序 &lt;br&gt;2. 6 方法和变量在继承时的覆盖与隐藏 &lt;br&gt;2. 7 排序类 &lt;br&gt;2. 8 Singleton单例模式 &lt;br&gt;2. 9 Factory工厂模式 &lt;br&gt;2. 10 Adapter适配器模式 ...

    深入体验Java Web开发内幕

    6.7 获取请求消息的实体内容&lt;br&gt; 6.8 利用请求域属性传递信息&lt;br&gt; 6.9 请求参数的中文读取问题&lt;br&gt; 6.10 思考与实践&lt;br&gt;第7章 会话与状态管理&lt;br&gt; 7.1 Web应用中的会话与会话状态&lt;br&gt; 7.2 Cookie&lt;br&gt; 7.3 在...

    AIC的Java课程1-6章

    第5 版 清华大学出版社&lt;br&gt; “SCJP学习指南” 人民邮电出版社&lt;br&gt; “Java 编程思想” 第3版 机械工业出版社&lt;br&gt; 教学内容和要求&lt;br&gt;知识点 重要程度 使用频度 难度&lt;br&gt;Java 入门 高 中 易&lt;br&gt;变量和运算符 高 ...

    JSTL详细标签库介绍

    发生异常时,异常周围信息(抛出对象本身类型)-------------异常处理程序&lt;BR&gt;&lt;BR&gt;12.5一个异常处理的简单实例:除数为0&lt;BR&gt;&lt;BR&gt;需求:使用一个小应用程序,完成两数相除的计算&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;...

    mysql5.1中文手册

    复制传递和状态文件&lt;br&gt;6.4. 如何设置复制&lt;br&gt;6.5. 不同MySQL版本之间的复制兼容性&lt;br&gt;6.6. 升级复制设置&lt;br&gt;6.6.1. 将复制升级到5.0版&lt;br&gt;6.7. 复制特性和已知问题&lt;br&gt;6.8. 复制启动选项&lt;br&gt;6.9. 复制FAQ&lt;br&gt;6.10....

    JNI与C++数据类型传递示例(包括ArrayList对象、ArrayList嵌套返回)

    一个C++(Ubuntu16.04+QT5.9.1)通过JNI,调用JAVA类及方法的示例。通过JNI传递和返回多种类型的参数,boolean ,int,String,ArrayList&lt;string&gt;,ArrayList嵌套ArrayList&lt;ArrayList&lt;String&gt;&gt;等。

    jsp编程技巧集锦

    数字转中文&lt;br&gt;128 自动计算金额&lt;br&gt;129 JSP页面打印中使用WebBrowser控件&lt;br&gt;130 &lt;select...&gt;不刷新页面添加新的类别&lt;br&gt;131 鼠标滚动缩放图片&lt;br&gt;132 根据输入的表名生成输入数据表格&lt;br&gt;133 JSP表格输出到Excel...

    11.java参数传递.zip

    11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java参数传递.zip11.java...

    13.java参数传递之引用传递.zip

    13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递....

    58.java参数传递机制.zip

    58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递机制.zip58.java参数传递...

    DWR中文文档.pdf

    web.xml配置 13&lt;br/&gt;2.1 主要配置 13&lt;br/&gt;2.2 常用&lt;init-param&gt;参数列表 14&lt;br/&gt;2.2.1 安全参数 14&lt;br/&gt;2.2.2 Ajax服务器加载时保护参数 14&lt;br/&gt;2.2.3 其他参数 15&lt;br/&gt;2.3 日志配置 16&lt;br/&gt;2.4 多个dwr.xml配置和...

    JDK1.8【函数式接口】【定义与使用】【源码】

    提供型 Supplier&lt;T&gt; return:&lt;T&gt; * 3.函数型 Function&lt;T,R&gt; return:&lt;R&gt; * 4.断言型 Predicate&lt;T&gt; return:boolean * &lt;p&gt; * 参数使用形式 * 形式1:传递函数式接口对象 * 形式2:形参上直接写表达式

    mybatis基础讲解第二天(逆向工程、动态sql、多参数传递).zip

    在XML文件中,&lt;if&gt;标签通常被嵌套在其他标签内,如&lt;select&gt;、&lt;insert&gt;和&lt;update&gt;等标签内,用于控制生成的SQL语句的结构和内容。 &lt;if&gt;标签通常包含一个test属性,该属性被用于指定条件表达式。如果表达式的结果为...

    网上购物系统

    &lt;p&gt;//参数说明:要检查的数字&lt;/P&gt; &lt;p&gt;//返回值:1为是数字,0为不是数字&lt;/P&gt; &lt;p&gt;function fucCheckNUM(NUM)&lt;/P&gt; &lt;p&gt;{&lt;/P&gt; &lt;p&gt;var i,j,strTemp;&lt;/P&gt; &lt;p&gt;strTemp="0123456789";&lt;/P&gt; &lt;p&gt;if ( NUM.length== 0)&lt;/P&gt; &lt;p&gt;&...

    Eclipse 启动运行速度调优

    &lt;br&gt;-vmargs - 表示将后面的所有参数直接传递到所指示的 Java VM。 &lt;br&gt;&lt;br&gt;-Xverify:none - 此开关关闭Java字节码验证,从而加快了类装入的速度,并使得在仅为验证目的而启动的过程中无需装入类。此开关缩短了启动...

    Java参数传递PPT

    关于Java参数传递的PPT,详细介绍参数传递的类型。彻底理解Java只有唯一传递方式——值传递。

    分页 servlet

    知道分页的大小之后,我们生成了页好的选取下拉框,每次选择第几页的时候,都会向Servlet传递当前选择页号的参数,这样Servlet调用后面的DAO相应的方法,取得文章列表信息,再回传到JSP以供显示。 &lt;%@ page ...

    java参数传递

    这里详细的说明了,java参数传递的过程,引用传递,值传递

    java扫雷(无界面,用参数文件获取扫雷参数)

    参数文件内容如:&lt;br&gt;width = 10&lt;br&gt;height = 10&lt;br&gt;minenum = 10

Global site tag (gtag.js) - Google Analytics