java A(A a)构造函数--原型构造函数

来源:互联网 发布:进出口银行 待遇 知乎 编辑:程序博客网 时间:2024/06/05 23:43

经常在源码里看见 A(A a)类似的构造函数,为什么经常需要一个相同的对象去构造同类的对象?

目的:保存对象某个时刻下的状态

因为对象是应用类型,对象赋值是指向同一个对象,所以如果需要保存对象某个时刻的状态,就需要A(A a)构造函数来new一个新的对象。

class Student {private String name;private int age;public void setAge(int age) {this.age = age;}public Student(String name) {this.name = name;}public Student(Student student) {this.name = student.name;this.age = student.age;}}


 

Student s1 = new Student("王麻子");  s1.age=23;  //此时要保存s1此刻的状态  Student s2 = new Student(s1);  


 

 

 

原创粉丝点击