Hi, all:
我的序列化场景如下, 有一个Job类, 实现IJob接口. 一个Resource类, 实现IResource接口, Resource包含Job的应用. 需要将Resource序列化.Interface IJob extends Serializable{}Class Job implements IJob, Serializable(){}Interface IResource extends Serializable{}Class Resource implements IResource, Serializable(){
IJob myJob;
}疑问:
1. 接口类的实例化是必要的么? (正确的么?) Interface IJob extends Serializable{}2. 我在实例化一个resource的时候, 是应该
IResource res = new Resource();
还是
Resource res = new Resource();
这对序列化有影响么3. 在Class Resource implements IResource, Serializable() 中, 对job的引用, 我是应该用:
IJob myJob;
还是
Job myJob;在我当前的场景中, 每次反序列化resource的时候都回提示:
java.lang.IllegalArgumentException: java.io.InvalidClassException: packagename.Job; packagename.Job; no valid constructor我在想这是不是因为我在Resource中引用IJob, 而不是Job造成的.
多谢大家指点!ye
我的序列化场景如下, 有一个Job类, 实现IJob接口. 一个Resource类, 实现IResource接口, Resource包含Job的应用. 需要将Resource序列化.Interface IJob extends Serializable{}Class Job implements IJob, Serializable(){}Interface IResource extends Serializable{}Class Resource implements IResource, Serializable(){
IJob myJob;
}疑问:
1. 接口类的实例化是必要的么? (正确的么?) Interface IJob extends Serializable{}2. 我在实例化一个resource的时候, 是应该
IResource res = new Resource();
还是
Resource res = new Resource();
这对序列化有影响么3. 在Class Resource implements IResource, Serializable() 中, 对job的引用, 我是应该用:
IJob myJob;
还是
Job myJob;在我当前的场景中, 每次反序列化resource的时候都回提示:
java.lang.IllegalArgumentException: java.io.InvalidClassException: packagename.Job; packagename.Job; no valid constructor我在想这是不是因为我在Resource中引用IJob, 而不是Job造成的.
多谢大家指点!ye
解决方案 »
- JavaScript的怪问题,false不起作用!!
- xml解析
- 关于java中表格控件的排序问题
- 有甚麽好的编程网站推介一下?
- 求java闹钟程序,在线等,急。。。
- 问个问题,关于递增的,帮忙看下吧。^_^
- 如何把几个不同的值传给另外的CLASS中?
- 用Applet如何对本地用户文件进行读写
- 还是web打印的问题,特别是票据打印,要求比较高(还要免费的),据说可以用Applet+数字签名+JNI+XML的形式?
- Exception in thread "main" java.lang.NoClassDefFoundError:文件名,这是什么意思?
- 大家好,请多多指教
- Thread的join()问题
public Job(){}
造成的
解决异常试试楼上的方法
其它的就是楼上各位说的,友情提示下楼主这里不用再实现Serializable
2、两者没区别。但推荐使用地一种写法。
3、和第二个问题类似,推荐接口声明。你报的异常是因为没有为class声明无参构造函数,需要对每个要序例化的对象的class类中增加public ObjectA(){}构造函数(ObjectA是对象名),这是javabean的标准写法。
恩, 我目前定位也是在Job没有无参数的构造函数. 但问题是, Job是扩展另外一个第三方类IntelJob, 而InterJob的源代码里面也没有无参数的构造函数. 这样的我应该怎么处理? (如何给Job加上无参数构造函数?)
如果不是必须的话可以不理