スーパークラスのクラスが既にJavaでシリアライズ可能なインターフェイスを実装していて、Javaでシリアライズ可能なインターフェイスを実装していないため、インターフェイスを実装できないため、はい、新しいクラスのシリアル化を避ける方法があります。 java直列化を避けるには、クラスにwriteObject()とreadObject()メソッドを実装し、それらのメソッドからNotSerializableExceptionをスローする必要があります。これは、上記の質問に記載されているようにJavaシリアル化プロセスをカスタマイズすることのもう1つの利点であり、通常はインタビューの進捗状況に応じてフォローアップの質問をします。 EX用シリアライゼーションの制御
は...
class Animal implements Serializable
{
int weight = 42;
}
and there is a subclass...
class Dog extends Animal
{
private void writeObject(ObjectOutputStream o)
throws IOException, ClassNotFoundException
{
//throw nonserializable exception
}
private void readObject(ObjectInputStream o)
throws IOException, ClassNotFoundException
{
//throw nonserializable exception
}
}
あなたは()およびwriteObject()readObjectメソッド内Dogクラスで上で見たように私に助言してもらえ..スーパーがあり、私はに指示するコードを書くことができますかnonserilizable例外をスローします。それは非serilable例外をスローします...助言してください。
質問の存在に照らして、私は例外と例外処理を読んでお勧めします。 – trutheality
ありがとう、キャッチブロックが必要なのかアドバイスしてください.. !! – Neera
ここにはありません。ここで例外を投げるというのは、 'Dog'を直列化することを不可能にすることです。例外を捕捉する必要のあるオブジェクトを直列化しようとするコードです。 – trutheality