MATLAB тепловая карта

Если ваш MyClass содержит ссылку на объект несериализуемого класса, вы получите исключение NotSerializable во время выполнения. Чтобы проверить, измените MyClass так, чтобы он содержал ссылку на объект NewClass1. Если вы запустите еще раз, это вызовет исключение.

Deserialization по существу создает экземпляр сериализуемого класса и восстанавливает его свойства. Во время этого процесса конструктор сериализуемого класса не вызывается. Вместо этого вызывается конструктор no arg первого несериализуемого суперкласса.

В вашем случае конструктор no arg newClass1 присваивает 10 своей переменной экземпляра i. Таким образом, во время десериализации она печатает 10 вместо 20.

13
задан Yamaneko 9 May 2013 в 04:59
поделиться