我试图将一个对象放入一个文件中,然后尝试使用 Externalizable 接口读取同一个对象,我得到一个异常,没有 Car 类的有效构造函数。
import java.io.*;
class Base
{
int a;
}
class Car extends Base implements Externalizable
{
static int b;
String c="";
Car(int d,int e,String f)
{
a=d;
b=e;
c=f;
}
Car()
{super();}
public void writeExternal(ObjectOutput oos)
{
try
{
oos.writeInt(a);
oos.writeInt(b);
oos.writeObject(c);
}
catch(Exception e){}
}
public void readExternal(ObjectInput ois)
{
try
{
a=ois.readInt();
b=ois.readInt();
c=(String)ois.readObject();
}
catch(Exception e){}
}
}
class Main
{
public static void main(String args[])throws Exception
{
Car c1=new Car(1,2,"Manish");
FileOutputStream fos=new FileOutputStream("man.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(c1);
FileInputStream fis=new FileInputStream("man.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
Object o=ois.readObject();
Car c2=(Car)o;
System.out.println(c2.a+" "+c2.b+" "+c2.c);
}
}
有人可以解释错误是什么吗?