在Java中所有的类都是Object的子类。
在Object类中有一个clone方法定义如下:
protected native Object clone() throws CloneNotSupportedException;
该方法的修饰符为protected,表示该方法可以在子类中调用
然后结果是调用不了
网上有回答是需要实现Cloneable接口,但即使实现了,也调用不到。
不实现Cloneable接口,只是报CloneNotSupportedException异常。
只能重写clone方法,并且使用super.clone()
疑惑这是为什么呢?
Antara muka Boleh Diklon hanyalah bendera, ia kosong
Kaedah klon Objek ialah kaedah tempatan, yang lebih cekap
Beberapa syarat untuk menggunakan kaedah klon
2) Untuk mendapatkan salinan objek, kita boleh menggunakan kaedah klon kelas Objek.
3) Gantikan kaedah klon terkumpul dalam kelas terbitan dan isytiharkannya sebagai awam.
4) Dalam kaedah klon kelas terbitan, panggil super.clone().
Untuk butiran lanjut, anda boleh rujuk
http://www.cnblogs.com/gw811/...
Anda boleh menghubungi:
klon() ialah skop yang dilindungi. Selepas mewarisi antara muka Boleh Diklon, anda perlu mengatasi kaedah tersebut, dan kemudian memanggil kaedah klon() kelas induk dalam kaedah tersebut. Pada masa yang sama, klon lalai hanyalah klon cetek objek rujukan. Biar saya berikan anda sekeping kod untuk dijalankan dan cuba sendiri:
Antaranya, A mewarisi antara muka boleh klon dan memegang rujukan kepada B.
Laksanakan antara muka Boleh Diklon dan ganti kaedah klon().
Saya sangat keliru apabila saya mula-mula melihatnya, saya mencubanya dan mendapati kaedah klon dalam objek dipanggil secara langsung.
Kod adalah seperti berikut:
CommonTest kelas awam melaksanakan Boleh Diklon{
}