用Java设计一个类Person,有属性名称name和年龄age。在main方法中,使用这个类建立一个对象,保存到文件a.bat中,然后从a.bat中读取这个对象,并打印该对象。
时间: 2024-05-11 13:16:52 浏览: 14
好的,关于您的问题,以下是Java代码:
```
import java.io.*;
public class Person implements Serializable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
Person person = new Person("John", 25);
try {
// 保存对象到文件a.bat中
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("a.bat"));
outputStream.writeObject(person);
outputStream.close();
// 从a.bat中读取对象并打印
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream("a.bat"));
Person restoredPerson = (Person)inputStream.readObject();
inputStream.close();
System.out.println("Name: " + restoredPerson.getName());
System.out.println("Age: " + restoredPerson.getAge());
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
运行以上代码,在控制台输出:
```
Name: John
Age: 25
```
请注意:为了将Person类实例序列化和反序列化到文件,我们需要让Person类实现Serializable接口,这是Java序列化的必需条件之一。如果您在序列化或反序列化期间遇到任何问题,请参考Java文档或在线资源进行深入了解。