小编nit*_*dgp的帖子

java.io.InvalidClassException:没有有效的构造函数

当我在程序下面运行时,我会遇到异常

java.io.InvalidClassException: Files.SerializationMain; Files.SerializationMain; no valid constructor
    at java.io.ObjectStreamClass.checkDeserialize(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at Files.SerializationClass.main(SerializationClass.java:71)
Caused by: java.io.InvalidClassException: Files.SerializationMain; no valid constructor
    at java.io.ObjectStreamClass.<init>(Unknown Source)
    at java.io.ObjectStreamClass.lookup(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at Files.SerializationClass.main(SerializationClass.java:61)
Run Code Online (Sandbox Code Playgroud)

我读到某个地方,当我们序列化任何子类时,它的基类构造函数被触发.

class Parent123
{
    int age;
    String name;

    Parent123(int age,String name) {
        System.out.println("We are in Parent123 Constructor");
        this.age=age;
        this.name=name;
    }  
}

class SerializationMain extends Parent123 implements Serializable {
    int data1;
    String data2;

    SerializationMain(int data1,String data2)
    {
        super(20,"test");
        this.data1=data1; …
Run Code Online (Sandbox Code Playgroud)

java

35
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1