关于Cloneable和clone方法的认识: 1.Cloneable接口是一个标记接口,没有clone方法,clone方法是在Object类中的,并且是protected的 2.一般地需要实现Cloneable和重写clone方法,并将修饰符改为public 3.如果没有实现Cloneable接口,调用clone方法就会抛出CloneNotSupportedException异常 4.对于基本类型clone复制一份 5.浅拷贝对于引用类型clone不会clone,而是指向相同的地址,所以修改原始的和clone的会互相影响,像map、collection等的新增或者删除 6.浅拷贝引用类型如果为null,clone之后修改原始的和clone的不会互相影响 7.浅拷贝引用类型如果重新赋值,由于两个对象指向的不是同一个,所以操作不会互相影响 8.深拷贝可以在clone方法重写时对field重新赋值 9.由于有浅拷贝的问题存在,专家建议使用其他方式代替
关于Java.clone方法和Cloneable接口
最新推荐文章于 2024-07-09 09:24:51 发布