Java中的瞬态关键字示例| Java瞬态关键字教程
Java中的瞬态关键字示例| Java Transient Keyword Tutorial是今天的主题。在Java中,我们有一个关键字'transient',用于忽略所提到的变量形式。这意味着,当我们在文件中写入数据时,可能会有一些我们不希望在文件中写入的数据。因此,在将对象写入文件时,编译器将忽略该对象的被声明为瞬态的数据成员。但是某些值必须存储在该变量的位置,否则在从文件中读取对象时可能会产生问题。因此,编译器所做的是忽略该变量的实际值,并将分配给该变量的默认值存储在该文件中。
内容概述
- 1 Java中的瞬态关键字
- 2要点注意事项
- 3瞬态与决赛
- 4推荐帖子
Java中的瞬态关键字
java中的修饰符瞬态可以应用于类的字段成员,以关闭这些字段成员的序列化。标记为瞬态的每个字段都不会被序列化。
您使用transient关键字向java虚拟机指示瞬态变量不是对象的持久状态的一部分。
transient关键字在满足安全约束方面起着至关重要的作用。有许多现实生活中的例子,我们不希望将私有数据存储在文件中。
transient关键字的另一个用例不是序列化一个变量,该变量的值可以根据其他序列化对象或系统计算,例如人的年龄,当前日期等。
重点要注意
在序列化期间使用transient关键字。
它用于我们不想序列化的变量。
要使变量成为瞬态,您的类必须实现Serializable接口。
将transient关键字与static或final变量一起使用是没有用的。但是,在这种情况下编译器不会抛出错误。
它有助于维护机密数据的隐私。
例如,请参阅以下程序代码。
import java.io.*; class Login_Details implements Serializable { String name; int age; String email; transient String password; public Login_Details(String name, int age, String email, String password) { this.name = name; this.age = age; this.email = email; this.password = password; } } public class Transient1 { public static void main(String() args) throws Exception { Login_Details obj = new Login_Details("Harry", 18, "harry123@xyz.com", "TRANSIENT"); FileOutputStream login_details = new FileOutputStream("login_details.txt"); ObjectOutputStream out = new ObjectOutputStream(login_details); out.writeObject(obj); out.flush(); out.close(); login_details.close(); System.out.println("Details saved"); } }
查看输出。
查看其他程序。
import java.io.*; public class Transient2 { public static void main(String() args) throws Exception { ObjectInputStream in = new ObjectInputStream((new FileInputStream("login_details.txt"))); Login_Details obj = (Login_Details) in.readObject(); System.out.println("NAME: " + obj.name); System.out.println("AGE: " + obj.age); System.out.println("EMAIL: " + obj.email); System.out.println("PASSWORD: " + obj.password); } }
查看输出。
为了使这个概念变得实用,我修改了Employee类,如下所示:
private String firstName; private String lastName; public final transient String confidentialInfo = "confidential"; public final transient Logger logger = Logger.getLogger("data");
最后,Java中的瞬态关键字示例| Java Transient Keyword Tutorial结束了。
推荐帖子
Java集示例|在Java教程中设置示例
Java继续语句示例|继续声明教程
Java BufferedReader类教程与示例
Java Vector Class Tutorial With Scratch示例
Java Anonymous Inner Class Tutorial With Example