苏州好的做网站的公司,全国工商信息企业查询官网,博客是哪个软件,网站被篡改处理Object
无有参构造
public Object() 空参构造
成员方法#xff1a;
public String toString() 返回对象的字符串表示
public boolean equals(object obj) 比较两个对象是否相等
Object默认用号比较地址值#xff0c;需要重写才能比较属性值
protected O…Object
无有参构造
public Object() 空参构造
成员方法
public String toString() 返回对象的字符串表示
public boolean equals(object obj) 比较两个对象是否相等
Object默认用号比较地址值需要重写才能比较属性值
protected Object clone(int a) 对象克隆
对象克隆
把a对象的属性值完全拷贝给b对象也叫对象拷贝对象复制
深克隆基本数据类型拷贝过来字符串复用引用数据类型会重新创建新的
浅克隆不管对象内部的属性是基本数据类型还是引用数据类型都完全拷贝下来
object中的是浅克隆
深克隆需要重写
浅克隆
import java.util.Arrays;public class student implements Cloneable{private int age;private String name;private int[] date;public student() {}public student(int age, String name, int[] date) {this.age age;this.name name;this.date date;}/*** 获取* return age*/public int getAge() {return age;}/*** 设置* param age*/public void setAge(int age) {this.age age;}/*** 获取* return name*/public String getName() {return name;}/*** 设置* param name*/public void setName(String name) {this.name name;}/*** 获取* return date*/public int[] getDate() {return date;}/*** 设置* param date*/public void setDate(int[] date) {this.date date;}public String toString() {return student{age age , name name , date Arrays.toString(date) };}//调用父类的clone相当于Java帮我们克隆Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}
public class Main {public static void main(String[] args) throws CloneNotSupportedException{int[]date{1,2,3,4,5,6,7};student anew student(15,hangman,date);//浅克隆student b(student)a.clone();System.out.println(a);System.out.println(b);}
} 深克隆 import java.util.Arrays;public class student implements Cloneable{private int age;private String name;private int[] date;public student() {}public student(int age, String name, int[] date) {this.age age;this.name name;this.date date;}/*** 获取* return age*/public int getAge() {return age;}/*** 设置* param age*/public void setAge(int age) {this.age age;}/*** 获取* return name*/public String getName() {return name;}/*** 设置* param name*/public void setName(String name) {this.name name;}/*** 获取* return date*/public int[] getDate() {return date;}/*** 设置* param date*/public void setDate(int[] date) {this.date date;}public String toString() {return student{age age , name name , date Arrays.toString(date) };}//调用父类的clone相当于Java帮我们克隆Overrideprotected Object clone() throws CloneNotSupportedException {int[]datethis.date;int[]newdatenew int[date.length];for (int i 0; i date.length ; i) {newdate[i]date[i];}//调用父类克隆方法student a(student)super.clone();a.datenewdate;return a;}
}
public class Main {public static void main(String[] args) throws CloneNotSupportedException{int[]date{1,2,3,4,5,6,7};student anew student(15,hangman,date);//深克隆student b(student)a.clone();int[]arr a.getDate();arr[0]100;System.out.println(a);System.out.println(b);}
}