我很好奇Java如何支持复制构造函数并且它与C++有什么不同?我想了解Java在编译器方面执行三个规则(复制构造函数,析构函数,赋值运算符)的逻辑等价于什么。
我很好奇Java如何支持复制构造函数并且它与C++有什么不同?我想了解Java在编译器方面执行三个规则(复制构造函数,析构函数,赋值运算符)的逻辑等价于什么。
Java没有专门的语言支持复制构造函数。相反,您只需在构造函数中手动编写状态复制代码,例如:
public class Person {
private String firstName;
private String lastName;
public Person(Person other) {
this.firstName = other.firstName;
this.lastName = other.lastName;
}
...
}
Java是一种完全垃圾回收的语言,最好的内存管理策略就是让GC处理。
其他资源最好使用“try/finally”或“try with resources”进行管理。
finalize()
,但强烈不推荐使用。