2012-01-18 29 views
5

Chữ ký cho readObject là:Java serialization readObject đầu vào vs readExternal đầu vào

private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException; 

mà mất trong một tài liệu tham khảo của một loại lớp bê tông.

Chữ ký cho readExternal là:

void readExternal(ObjectInput in) throws IOException, ClassNotFoundException 

mà mất trong một tài liệu tham khảo của một loại giao diện.

Vậy tại sao sự khác biệt này? Nó chỉ là một sự giám sát?

Trả lời

2

ObjectInputStream có một số phương pháp không có trong ObjectInput được sử dụng cụ thể để hỗ trợ cơ chế tuần tự mặc định. Do đó, việc tuần tự hóa cần phải xuất phát từ một số ObjectInputStream, nhưng sự bên ngoài có thể đến từ bất kỳ ObjectInput nào.