给定一个实现了Serializable接口的Student类,其中name和major属性为String类型,age属性为int类型且被transient修饰。当创建一个Student对象并将其序列化到文件,然后反序列化该文件并读取对象的属性时,以下哪个描述是准确的?

答案解析

A选项正确。当一个类的属性被transient修饰时,该属性不会被序列化。在反序列化时,该属性会使用默认值进行初始化,int类型的默认值是0。B选项错误,transient修饰的属性不会被序列化,所以反序列化后不会保持序列化时的值。C选项错误,major属性也是可序列化的,并且其值在反序列化后应该与序列化前相同,不会是null。D选项错误,transient修饰属性只是不序列化,并不会导致NotSerializableException异常。只有当类没有实现Serializable接口时才可能抛出这个异常。
正确答案:A
随机推荐
开始刷题