JAVA中有没有拷贝构造函数这个概念?相同类型的对象间可以直接赋值吗? 对象不能吧要自己实现clone的这个方法吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不知道你说的是不是克隆。java中的根类Object有clone()这个方法,不过是protected的,所以,你要是想用到这个方法,在你的类里把这个方法覆盖,声明成public。 Java中对象的直接赋值都是赋reference,比如:MyObject a = b;a和b就指向了同一块内存,所以,肯定没有什么copy constructor了! 楼上说的对,对象直接复制就是引用比如在Java中MyObject a;Myobject b;a=b就相当于C++中的下面的样子:Myobject a;Myobject b;a=&b;如果在Java中不使用引用,想实现C++的拷贝,那实际上就是Java中的Clone因为Clone实际上就是在创建一个对象重新分配存储空间,这与引用是不同的。 因为java是不要程序员亲自delete对象的 所以用不找copy constructor我是这么理解的,就算你原来的引用被赋null,但是这个对象还有别的引用被指向,所以不会被garbage collected不知道对不对:) 初学Java,问了有关Package的问题 关于模拟秒表功能的Applet小程序 请教log4j配置文件properties与xml类型的不同 JTree创建了一个公司文件察看编辑器但是无法得到子叶点 如何在MDI的子窗口得到父窗口的实例? web打印的问题,请大家帮忙 这个字符串怎么写? java数据库的程序设计原理 关于package 的问题 ResultSet 的Type属性 TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, or TYPE_SCROLL_SENSITIVE是什么意思 有关新建Thread的时间问题? Java中怎样弹出消息框?
MyObject a = b;
a和b就指向了同一块内存,所以,肯定没有什么copy constructor了!
比如在Java中
MyObject a;
Myobject b;
a=b
就相当于C++中的下面的样子:
Myobject a;
Myobject b;
a=&b;
如果在Java中不使用引用,想实现C++的拷贝,那实际上就是Java中的Clone因为Clone实际上就是在创建一个对象重新分配存储空间,这与引用是不同的。
我是这么理解的,就算你原来的引用被赋null,但是这个对象还有别的引用被指向,所以不会被garbage collected
不知道对不对:)