2016-03-30 2 views

ответ

1

Я думаю, в основном, потому что это означало бы, что много старого кода, который не использование аннотации начнет давать предупреждения компилятора повсюду.

Serializable - это не единственное, что могло быть устаревшим, но для обратной совместимости этого не произошло.

3

Аннотации не наследуются. Интерфейс Serializable наследуется. Это означает, что не только разрыв совместимости для удаления интерфейса, возможно, не удастся заменить его аннотацией, так как поведение не будет одинаковым.

Другим отличием является то вы можете написать

void method(Serializable s) 

, но вы не можете сделать то же самое для аннотирования, хотя ObjectOutputStream.writeObject принимает Object в любом случае.

Смежные вопросы