//Jesus answered, "You would have no power at all against me, unless it were given to you from above. Therefore he who delivered me to you has greater sin." (John 19:11) package com.javarush.task.task20.task2017; import java.io.*; /* ÐеÑеÑиализаÑÐ¸Ñ */ public class Solution { public A getOriginalObject(ObjectInputStream objectStream) { A a = null; try { a = (A) objectStream.readObject(); } catch (Exception e){ e.printStackTrace(); return null; } return a; } public class A implements Serializable { } public class B extends A { public B() { System.out.println("inside B"); } } public static void main(String[] args) { } } /* ÐеÑеÑиализаÑÐ¸Ñ Ðа Ð²Ñ Ð¾Ð´ подаеÑÑÑ Ð¿Ð¾Ñок, в коÑоÑÑй запиÑан ÑеÑиализованнÑй обÑÐµÐºÑ ÐºÐ»Ð°ÑÑа A либо клаÑÑа B. ÐеÑеÑиализÑй обÑÐµÐºÑ Ð² меÑоде getOriginalObject Ñак, ÑÑÐ¾Ð±Ñ Ð² ÑлÑÑае Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¸ÑклÑÑÐµÐ½Ð¸Ñ Ð±Ñло вÑведено ÑообÑение на ÑкÑан и возвÑаÑен null. РеализÑй инÑеÑÑÐµÐ¹Ñ Serializable где Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾. ТÑебованиÑ: 1.âÐлаÑÑ B должен бÑÑÑ Ð¿Ð¾Ñомком клаÑÑа A. 2.âÐлаÑÑ A должен поддеÑживаÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Serializable. 3.âÐлаÑÑ B не должен Ñвно поддеÑживаÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Serializable. 4.âÐеÑод getOriginalObject должен возвÑаÑаÑÑ Ð¾Ð±ÑÐµÐºÑ Ñипа A полÑÑеннÑй из поÑока ObjectInputStream. 5.âÐеÑод getOriginalObject должен возвÑаÑаÑÑ null, еÑли пÑи попÑÑке деÑеÑиализаÑии не бÑл полÑÑен обÑÐµÐºÑ Ñипа A. 6.âÐеÑод getOriginalObject должен возвÑаÑаÑÑ null, еÑли пÑи попÑÑке деÑеÑиализаÑии возникло иÑклÑÑение. package com.javarush.task.task20.task2017; import java.io.ObjectInputStream; * ÐеÑеÑиализаÑÐ¸Ñ * public class Solution { public A getOriginalObject(ObjectInputStream objectStream) { return null; } public class A { } public class B extends A { public B() { System.out.println("inside B"); } } public static void main(String[] args) { } } */