`

关键字 final & transient

    博客分类:
  • java
阅读更多

final 详见:

http://java.chinaitlab.com/base/724785.html

 

其中有这么写作用:

    根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 
final类不能被继承,没有子类,final类中的方法默认是final的。 
final方法不能被子类的方法覆盖,但可以被继承。 
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 
final不能用于修饰构造方法。 
   注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 

transient : 简单的理解为

       Java 的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机 制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。 

http://edu.gamfe.com/t/6133.html

        在应用时,如果对某些成员变量都改为transient类型,将节省空间和时间,提高序列化的性能。

【注】 transient时,保存在file的是该类对象的持久化状态,read出来的时候,这个持久化状态会赋值给该类的另一个状态。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics