java中无getter的瞬态变量
如果基类(实现可序列化)和扩展它的子类中有瞬态变量,我知道子类也会自动序列化,但基类对象中是否仍然需要getter。我让我的VAR暂时化并移除了getter,得到了一个PropertyNotFoundException,所以我想我在回答我自己的问题。只是想知道是否有其他方法不必将getter包含在base中。您将一些独立的问题混为一谈:java中无getter的瞬态变量,java,serializable,transient,Java,Serializable,Transient,如果基类(实现可序列化)和扩展它的子类中有瞬态变量,我知道子类也会自动序列化,但基类对象中是否仍然需要getter。我让我的VAR暂时化并移除了getter,得到了一个PropertyNotFoundException,所以我想我在回答我自己的问题。只是想知道是否有其他方法不必将getter包含在base中。您将一些独立的问题混为一谈: 通常,如果一个字段被声明为transient,则不需要为它声明getter和setter 一般来说,如果您要使用依赖于JavaBeans约定的各种框架(例如Sp
transient
,则不需要为它声明getter和setterPropertyNotFoundException
,甚至没有给出它的完整类名,因此我们无法告诉您是否有任何替代方法不涉及添加getter和setter。然而,添加getter和setter可能是最简单、最面向对象的解决方案。有关说明,请参见“”
注意,如果您被卡住了,并且无法修改声明这些字段的父类,那么您可以尝试在子类中添加getter和setter。这可能有用。。。取决于框架的实现方式 不清楚您想要实现什么只是想拥有一些类似私有瞬态字符串myName的东西;但却没有足够的动力。我的假设是,如果一个字段是暂时的,它将不会被序列化并使用它的原始默认值,但它看起来也需要getter。getter绝对不是必需的。这个PropertyNotFoundException是什么?你说的是
transient
关键字()还是JavaBeanstransient
annotation()?getter与java序列化没有任何关系,通过你标记问题的Serializable
接口。PropertyNotFoundException
。不清楚你在问什么,我道歉。我太匆忙了,没有提供足够的细节。仅供参考,异常来自一个BeanResolver,它位于一个我在更改JSP时错过的字段上。我再次表示歉意,今后不会匆忙做这些事情。