Java 中的 transient 关键字2025 年 5 月 1 日 | 阅读 5 分钟 在 Java 中,transient 关键字是一个修饰符,用于序列化(将对象转换为字节流的过程)。在一个类中,如果一个字段被标记为 transient,则该字段将从这个过程中排除。这意味着字段的值在对象序列化期间不会被保存;相反,在反序列化期间,它将被初始化为其默认值(例如,对象的 null 和整数的 0)。 为什么使用 transient 关键字?transient 关键字可以与类的成员变量一起使用,以避免它们的序列化。例如,如果一个程序接受用户的登录详细信息和密码,但我们不想将原始密码存储在文件中。在这种情况下,我们可以使用 transient 关键字。当 JVM 读取 transient 关键字时,它会忽略对象的原始值,而是存储对象的默认值。
语法 或 或 何时使用 transient 关键字?
transient 关键字示例在下面的示例中,我们定义了一个名为 Student 的类,该类有两个数据成员:name 和 age。如果我们序列化对象,所有值都将被序列化,但我们不想序列化 age。所以,我们声明了 age 数据。当我们反序列化对象时,我们得到 transient 变量的默认值。请注意,age 字段已从序列化中排除,因此其值在反序列化期间被重置。 我们可以看到,学生的年龄返回 0,因为 age 的值没有被序列化。 示例编译并运行输出 Name: Peter Age: 0 transient 关键字的优点
transient 关键字的缺点
Java transient 关键字 MCQ1. Java 中的 transient 关键字表示什么?
答案:1) 说明: transient 关键字可以与类的成员变量一起使用,以避免它们的序列化。 2. 下列哪些类型可以标记为 transient?
答案:4) 说明: 在 Java 中,transient 关键字可以与任何数据类型一起使用,例如 int、String 或对象,以指示应从序列化中排除一个字段。 3. transient 关键字主要用于________?
答案:1) 说明: transient 关键字可以与类的成员变量一起使用,以避免它们的序列化。例如,如果一个程序接受用户的登录详细信息和密码,但我们不想将原始密码存储在文件中。在这种情况下,我们可以使用 transient 关键字。 4. 下列哪个不会被序列化?
答案:2) 说明 transient 与 static: Static 字段不是对象状态的一部分;static 变量与 transient 关键字没有用处。 transient 与 final: Final 变量会直接通过它们的值进行序列化,因此将 final 变量声明为 transient 是没有用的。 因此,答案 transient 变量将不会被序列化。 5. 序列化期间 transient 变量会发生什么情况?
答案:4) 说明: 在序列化期间,瞬态变量不包含在序列化对象的表示中。它们的值不会存储在序列化文件中,也不会被传输。相反,当对象被反序列化时,这些变量将被初始化为其默认值。 下一主题Java 网络 |
我们请求您订阅我们的新闻通讯以获取最新更新。