Добрый день! Подскажите:
1. почему недостаточно сделать implements Serializable только для класса C?
2. почему сейчас возникает ошибка NotSerializableException?
package com.javarush.task.task20.task2016;
import java.io.*;
/*
Минимум изменений
*/
public class Solution {
{
C objectOfClassC = new C("CName");
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream ous = new ObjectOutputStream(bos);
ous.writeObject(objectOfClassC);
ous.close();
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray()));
C newObjectOfClassC = (C)ois.readObject();
ois.close();
}
catch (IOException e){
e.printStackTrace();
}
catch (ClassNotFoundException e){
e.printStackTrace();
}
}
public class A implements Serializable {
String name = "A";
public A(String name) {
this.name += name;
}
@Override
public String toString() {
return name;
}
}
public class B extends A {
String name = "B";
public B(String name) {
super(name);
this.name += name;
}
}
public class C extends B {
String name = "C";
public C(String name) {
super(name);
this.name = name;
}
}
public static void main(String[] args) {
//C objectOfClassC = new C("CName");
Solution sol = new Solution();
}
}