Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. package com.javarush.task.task20.task2017;
  2.  
  3. import java.io.ObjectInputStream;
  4. import java.io.Serializable;
  5.  
  6. // На вход подается поток, в который записан сериализованный объект класса A либо класса B.
  7. // Десериализуй объект в методе getOriginalObject так, чтобы в случае возникновения
  8. // исключения было выведено сообщение на экран и возвращен null.
  9. // Реализуй интерфейс Serializable где необходимо.
  10.  
  11. public class Solution {
  12. public A getOriginalObject(ObjectInputStream objectStream) {
  13. A a;
  14. try {
  15. a = (A)objectStream.readObject(); //мы уверены, что получим объект А(т.к. В - тоже А)
  16. }catch(Exception e){ //Exception e здесь подразумевается IOException или ClassNotFoundException
  17. System.out.println("error of deserialization");
  18. return null;
  19. }
  20. return a;
  21. }
  22.  
  23. public class A implements Serializable{ //объявляем А serializable, потому что В, будучи его наследником, тоже станет serializable
  24. public A() {}
  25. }
  26.  
  27. public class B extends A {
  28. public B() {
  29. System.out.println("inside B");
  30. }
  31. }
  32.  
  33. public static void main(String[] args) {
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement