首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
admin
2009-01-15
59
问题
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据用户在命令行输入的三个参数来设定其中成员变量的值。然后,将这个对象写入名为TheSerial.data的文件,并显示成员变量。最后从文件TheSerial.data中读出三个成员变量并显示出来。
注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.io.*;
class TheSerial implements Serializable
{
private int intValue;
private double doubleValue;
private String string;
TheSerial()
{
intValue = 123;
doubleValue = 12.34;
string = "Serialize Test";
}
public void setDouble(double d)
{
doubleValue = d;
}
public void setInt(int i)
{
intValue = i;
}
public void setString(String s)
{
string = s;
}
public String toString()
{
return("int="+intValue+"double="+doubleValue+" string="+string);
}
}
public class Example2_3
{
public static void main(String argv[])
{
TheSerial e1 = new TheSerial();
TheSerial e2;
try
{
e1.setInt(Integer.parseInt(argv[0]));
e1.setDouble(Double.parseDouble(argv[1]));
e1.setString[argv[2]);
}
catch(Exception e)
{
e1.setString(e.getMessage{));
}
System.out.println(e1);
try
{
FileOutputStream oS = new FileOutputStream("TheSerial.data");
ObjectOutputStream oIS = new ObjectOutputStream(oS);
______;
}
catch(IOException ioException)
{
System.out.println(ioException.getMessage());
}
try
{
FileInputStream iS = new FileInputStream("TheSerial. data");
ObjectInputStream oIS = new ObjectInputStream(iS);
______
System.out.println(e2);
}
catch(IOException ioException)
{
System.out.println(ioException.getMessage());
}
catch(ClassNotFoundException cnfException)
{
System.out.println(cnfException.getMessage());
}
}
}
选项
答案
①oOS.writeObject(e1) ②e2=(TheSerial)oIS.readObject()
解析
本题主要考查串行化相关的方法和实现。解题中首先要掌握串行化的基本过程和反串行化的过程。串行化过程首先要创建一个输出流FileOutputStream,通过该类的实例对文件进行访问,然后创建一个ObJectOutput Stream对象,通过writeObject()方法来实现对象的序列化。第一个空就是使用writeObject()实现序列化。
反序列化过程中用FileInputStream对象建立读取文件的连接,并使用该对象创建一个 ObiectInputStream的实例,这个ObjectInput Stream实例的readObject()方法就可以实现对象的反序列化。第二个空就是使用readObject()实现反序列化。
转载请注明原文地址:https://kaotiyun.com/show/nmnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
表名为Employee的表结构是(职工号,姓名,工资),建立表Employee的SQL命令是
为“运动员”表增加一个字段“得分”的SQL语句是
将Employee表中职工号为“19620426”的记录中“单位号”修改为“003”正确的SQL语句是
“查询”菜单下的“查询去向”命令指定了查询结果的输出去向,输出去向不包括
如果希望用户在文本框中输入的字符显示的是“*”号,而不是真正输入的内容,应该指定的属性是
下列数据结构中,属于非线性结构的是
下列选项中不属于软件生命周期开发阶段任务的是
打开已经存在的表单文件的命令是
使用如下3个数据库表:职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单.dbf:订单号C(4),客户名C(4),职员号C(
英文缩写CAD的中文意思是
随机试题
首次提出“马克思主义中国化”命题的中国共产党领导人是
德育过程就是学生思想品德的形成过程。
A、Mr.Lindleyhadgotinjured.B、Mr.Lindleyhadfallenasleep.C、Mr.Lindleyhadfallenoffhischair.D、Mr.Lindleyhadlostc
下列哪种情况下组织液生成减少
心肌梗死急性期患者,一旦出现室性期前收缩,应首选()
A.急性肠梗阻B.感染性休克C.肺炎高热D.慢性十二指肠瘘E.挤压综合征高钾血症的常见病因是
依证券法的规定,以下何种公司不能发行公司债券?
在全国人民代表大会闭会期间,有权批准对全国人民代表大会代表逮捕或者刑事审判的机关是:
英国科学家提出测试可再生能源效率的简单方法,来展示1公顷能源作物制成的燃料可以让汽车行驶多远,生物柴油在测试中表现最差,仅能使车辆行驶2万公里,生物乙醇使车辆行驶3万公里。由厌氧发酵的农作物等产生的生物沼气可使车辆行驶将近9.7万公里,因此,科学家认为,生
A、Becauseofthestressfactors.B、Becauseoftheleisureactivities.C、BecauseoftheTVwatching.D、BecauseofthegeneralAme
最新回复
(
0
)