private void t() {
Card card = new Card();
card.setNum(19);
card.setNmae("jason");
Log.i(TAG, "t: "+card.toString());
try {
Card clone = card.clone();
Log.i(TAG, "t: "+clone.toString());
clone.setNum(20);
clone.setNmae("jace");
Log.i(TAG, "t: "+clone.toString());
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
public class Card implements Cloneable{
int num;
CardName cardName=new CardName();
public Card() {
Log.i(TAG, "Card: 构造函数");
}
public void setNum(int num) {
this.num = num;
}
public void setNmae(String nmae){
cardName.setName(nmae);
}
@Override
public String toString() {
return "Card{" +
"num=" + num +
", cardName=" + cardName +
'}';
}
@Override
protected Card clone() throws CloneNotSupportedException {
Log.i(TAG, "clone: 不执行构造函数");
return (Card) super.clone();
}
}
public class CardName{
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "CardName{" +
"name='" + name + '\'' +
'}';
}
}
android 对象拷贝克隆模式
最新推荐文章于 2023-02-02 16:39:46 发布