java中将对象作为参数的本质
2013-05-16 11:11
218 查看
package com.webm; public class Test { /** * @param args */ public static void main(String[] args) { Manager m1=new Manager(1,"谢东","人力资源部"); Manager m2=new Manager(2,"李志","市场部"); System.out.println("交换前"); m1.display(); m2.display(); System.out.println("交换中"); Manager.warpManage(m1, m2); System.out.println("交换后"); m1.display(); m2.display(); } } class Manager{ private int mid; private String mname; private String depart; public Manager(int m,String n,String d){ this.mid=m; this.mname=n; this.depart=d; } public static void warpManage(Manager m1,Manager m2){ Manager temp=null; temp=m1; m1=m2; m2=temp; System.out.println("name1="+m1.mname+" depart1="+m1.depart); System.out.println("name2="+m2.mname+" depart2="+m2.depart); } public void display(){ System.out.println("name="+this.mname+" depart="+this.depart); } }
面试时碰到过许多关于java方法中传递对象参数的问题,关于java中传递参数,总结如下:
a.传递值类型参数,如基本数据类型,不可以改变变量的值.
b.传递对象类型参数,可以改变对象变量的实例域值.
c.传递对象类型参数,不可以改变引用地址.
经典示例:交换两个引用类型变量(失败)
实质解释:
java方法中传递参数时,无论是传递基本数据类型还是引用类型,都是传递参数(显示参数)的一个
拷贝,所以在调用方法结素之后,访问的仍是原来的值
相关文章推荐
- java中将对象作为参数的本质
- java中将对象作为参数的本质
- 【java】值传递和引用传递---对象作为方法的参数传入属于哪种传递
- js中将URL中的参数提取出来作为对象的实现代码
- java 对象作为方法的参数传递
- Spring 框架下,用数组作为参数 传入到 存储过程,或存储过程返回动态数组到java程序 ,BLOB等大对象类似
- Java对象(包括集合)作为方法参数相关原理
- Java 对象作为参数传递的相关原理研究
- Java 对象作为参数传递的相关原理研究
- Java 把对象作为参数传到一个方法里,这个是值传递还是引用传递, 为什么结果这么怪?
- Java传递基本类型:值传递,对象作为参数:引用传递
- 我的Java开发学习之旅------>Java String对象作为参数传递的问题解惑
- Java学习笔记43. 使用对象作为方法的参数
- java中要注意对象作为参数引用返回时,对象本身是否变化了
- java中把对象作为参数传递的理解
- Java中接口对象作为参数传递
- 关于Java对象作为参数传递是传值还是传引用的问题
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java中对象引用,特别作为参数时候注意事项
- 学习android JNI的那些事儿--------6. 在java中传入引用数据类型(对象)作为参数