LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3141|回复: 6

如果我不按JavaBean的要求定义类,却把它用于JavaBean,会有什么后果呢?

[复制链接]
发表于 2008-7-14 15:37:59 | 显示全部楼层 |阅读模式
如果我不按JavaBean的要求定义类,比如,类中的私有对象不提供get和set方法,不实现serializable,会有什么后果呢?
我上次在书上看到的例子发现,它的Javabean类声明也没有
  1. implements Serializable
复制代码

上次简单地在jsp找中实验了一下,发现这个类还是被传递过去了,里面的参数的值也被保留了。
谢谢。
发表于 2008-7-14 19:04:28 | 显示全部楼层
每看明白你的意思,你要干什么?
回复 支持 反对

使用道具 举报

发表于 2008-10-15 10:04:57 | 显示全部楼层
Serializable 用于分布式环境,或者持久化存储。
JavaBean是一种规范,你完全可以不按照它的方式去做,因为它本身也是一个java类。因此,你可以考虑的方式在于,你是不是把一个类,用在了正确的地方。如果在不同的JVM下,比如跨JVM,你这样就有可能出问题。

JavaBean规范是组件思想。
回复 支持 反对

使用道具 举报

发表于 2008-10-15 10:22:20 | 显示全部楼层
JavaBean 规范哪里有要求要实现 Serializable?
回复 支持 反对

使用道具 举报

发表于 2008-10-15 10:49:09 | 显示全部楼层
可能我表述不清楚。

JavaBena是一种组件化思想。

如果把JavaBean当作数据传输的时候使用,再考虑使用Serializable,但使用Serializable的时候要注意是否需要自己实现持久化方案。

并不是规范要求Serializable。

:)嘿嘿,写得不清楚。
回复 支持 反对

使用道具 举报

发表于 2008-10-15 11:47:02 | 显示全部楼层
除非你要把你的类完全保存到磁盘上或者通过字节码传到另外一个jvm,否则序列化就没有什么具体含义了。

在一个jvm里面,序列化不序列化没什么具体作用,当然如果你要做缓存的话就需要了,但是目前的缓存也是能正确处理的,比如ArrayList没有声明序列化但是仍然可以保存,原因就是缓存的外层对象是序列化的。

还有,你说的是javabeans还是pojo啊?
回复 支持 反对

使用道具 举报

发表于 2008-11-17 17:21:48 | 显示全部楼层
别学死了,建议先去搞明白面向对象编程思想再来学java
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表