package package7;
public class Student {
public int id;
public String name;
public double score;
public Student(int id, double score, String name) {
this.id = id;
this.score = score;
this.name = name;
}
}
public class Student implements Comparable<Student>{
public int id;
public String name;
public double score;
public Student(int id, double score, String name) {
this.id = id;
this.score = score;
this.name = name;
}
@Override
public int compareTo(Student o) {
return 0;
}
}
package package7;
public class Test {
public static void main(String[] args) {
Student s1 = new Student(1,90,"Mike");
Student s2 = new Student(2,98,"Will");
System.out.println(s1.compareTo(s2));
}
}
package package7;
public class Student{
public int id;
public String name;
public double score;
public Student(int id, double score, String name) {
this.id = id;
this.score = score;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public double getScore() {
return score;
}
}
package package7;
public class Test {
public static void main(String[] args) {
Student s1 = new Student(1,90,"Mike");
Student s2 = new Student(2,98,"Will");
StudentComparator comparator = new StudentComparator();
System.out.println(comparator.compare(s1,s2));
}
}
public class Money {
private double amount = 1000;
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
java复制代码
package package8;
public class Person implements Cloneable{
private int id;
private Money money = new Money();
@Override
public Person clone() throws CloneNotSupportedException {
return (Person) super.clone();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getMoney() {
return money.getAmount();
}
public void setMoney(double amount) {
money.setAmount(amount);
}
}
接着在main方法中测试一下,看拷贝的效果如何
java复制代码
package package8;
public class Test {
public static void main(String[] args) throws CloneNotSupportedException {
Person p1 = new Person();
p1.setId(1);
Person p2 = p1.clone();
System.out.println(p2.getId());
System.out.println(p2.getMoney());
p1.setId(3);
System.out.println(p2.getId());
p1.setMoney(2000);
System.out.println(p1.getMoney());
System.out.println(p2.getMoney());
}
}
package package8;
public class Money implements Cloneable{
private double amount = 1000;
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
@Override
public Money clone() throws CloneNotSupportedException {
return (Money) super.clone();
}
}
java复制代码
package package8;
public class Person implements Cloneable{
private int id;
private Money money = new Money();
@Override
public Person clone() throws CloneNotSupportedException {
Person p = (Person) super.clone();
p.money = p.money.clone();
return p;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getMoney() {
return money.getAmount();
}
public void setMoney(double amount) {
money.setAmount(amount);
}
}