Может ли интерфейс расширить интерфейс Serializable?
Возможно ли создать интерфейс, расширяющий интерфейс Serializable?
Если да, будет ли этот расширенный интерфейс работать как интерфейс Serilizable? Если нет, то почему?
Ответ 1
Да, вы можете расширить интерфейс Serializable. Если вы это сделаете, все классы, реализующие новый субинтерфейс, также будут реализовывать Serializable.
Ответ 2
Так можем ли мы это сделать?
Да
будет выполняться расширенный интерфейс тот же эффект, что и Serilizable интерфейс?
Да
Ответ 3
Да, это нормально. Я сделал это один раз, когда решил, что все классы в моем домене должны быть сериализуемыми. Они уже реализовали некоторый интерфейс, поэтому я просто расширил этот интерфейс от Serializable (как вы описали).
Ответ 4
Я объясняю это ситуацией, часто встречающейся в android. Если вы хотите передать экземпляр пользовательского прослушивателя (интерфейса), чтобы фрагментировать, то расширитель (интерфейс) расширителя Serializable может быть для вас вариантом. например,
Предположим, что существует интерфейс:
public interface OnDurationChangeListener extends Serializable {
public void onDurationChange(Duration duration);
}
из Activity Я хочу экспортировать экземпляр Listener (interface) в Fragment.
bundle.putSerializable(ARGUMENT_LISTENER, new OnDurationChangeListener() {
@Override
public void onDurationChange(Duration duration) {
// some code
}
});
И в фрагменте вы можете получить этот экземпляр Listener как: