Nếu tôi có:Lẫn lộn về giao diện cloneable và Object.clone() trong java
class foo implements Cloneable
và sau đó làm:
bar = new foo();
bar.clone();
tôi nhận được một bản sao cạn mà không cần phải viết bất kỳ mã bar.clone()
như Tôi thường sẽ cần phải làm gì khi tôi thực hiện một giao diện.
sự hiểu biết của tôi là chức năng của một giao diện phải được điền vào bởi lớp thực hiện nó, và Object.clone()
không có người thực hiện (theo các tài liệu, "Các đối tượng lớp không tự thực hiện các giao diện Cloneable")
Vì vậy, nơi bản sao nông của tôi đến từ đâu? Mã nào triển khai bar.clone()
nếu Object.clone()
không triển khai? Tôi bối rối.
Tôi khuyến khích bạn chấp nhận câu trả lời hoặc yêu cầu làm rõ thêm để chúng tôi có thể nhận được câu trả lời đúng :-). – Tom
@Tom chắc chắn điều :) – ambertch