a,b保存的内存地址不同,修改b的值,为什么a的值也随之改变?
1条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-11-21 09:44关注
克隆是不会相等的,参考:
package com; public class TestMain { public static void main(String args[]) throws Exception { Person p = new Person(20,"张三"); System.out.println(p.getName()+","+p.getAge()); Person p1 = (Person)p.clone(); p1.setName("李四"); System.out.println(p1.getName()+","+p1.getAge()); } } class Person implements Cloneable{ private int age ; private String name; public Person(int age, String name) { this.age = age; this.name = name; } public Person() {} public int getAge() { return age; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protected Object clone() throws CloneNotSupportedException { return (Person)super.clone(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报