java传递和返回对象
2016-06-13 12:03
225 查看
java传递的只是一个引用,一定要注意准确认识在对象传递和赋值时所发生的一切。
事实上,java中的每个对象(除了基本数据类型以外)的标识符都属于指针的一种,但是其使用受到了严格的限制和防范,不仅在编译器中,在运行阶段也不例外。
java有指针,但是没有传统指针的麻烦。
将引用传递进一个方法时,指向的仍然是相同的对象。
别名问题
别名即多个引用都指向同一个对象,有时候要防止往对象中写东西。
克隆对象
如果需要修改一个对象,又不想改变调用者的对象,就应该制作一个本地副本。
简单使用clone()方法即可,制作一个完全一样的副本。这个方法在Object中是protected,但是希望在所有的子类中都可以使用,因此要覆盖为public类型的。
事实上,java中的每个对象(除了基本数据类型以外)的标识符都属于指针的一种,但是其使用受到了严格的限制和防范,不仅在编译器中,在运行阶段也不例外。
java有指针,但是没有传统指针的麻烦。
将引用传递进一个方法时,指向的仍然是相同的对象。
别名问题
别名即多个引用都指向同一个对象,有时候要防止往对象中写东西。
克隆对象
如果需要修改一个对象,又不想改变调用者的对象,就应该制作一个本地副本。
简单使用clone()方法即可,制作一个完全一样的副本。这个方法在Object中是protected,但是希望在所有的子类中都可以使用,因此要覆盖为public类型的。
相关文章推荐
- 并发编程学习总结(五) :java 显式锁ReentrantLock使用详解之条件对象(2)
- java设计模式案例详解:观察者模式
- java并发编程(九)--并发编程中实现内存可见的两种方法比较:加锁和volatile变量
- Spring aop配置
- Eclipse中将项目导出jar包,以及转化成exe的方法
- 【2】Java并发编程:volatile关键字解析
- Spring整合Hessian服务
- JDK环境变量中dt.jar、tools.jar等变量值的作用
- java并发编程(八)--synchronized的另个一重要作用:内存可见性
- result_type的几种类型
- Java内存管理机制-1
- Java全局搜索字符串
- spring自定义注解!
- Java统计单词个数
- java并发编程(七)--使用synchronized获取互斥锁的几点说明
- 银联在线Java接口开发
- JAVA-找不到或无法加载主类
- java设计模式-观察者模式
- 【JAVA笔记——术】GetResource 实现方式
- Java对象的序列化和反序列化