首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
admin
2009-01-15
63
问题
请完成以下程序,首先由一个类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的视图Em_view,正确的SQL命令是
在VisualFoxPro中,下列关于SQL表定义语句(CREATETABLE)的说法中错误的是
在VisualFoxpro中,下面对查询设计器的描述中正确的是
下面关于列表框和组合框的陈述中,正确的是
查询客户名称中有“网络”二字的客户信息的正确命令是
在VisualFoxPro中,用于建立或修改程序文件的命令是
在VisualFoxPro中可以用DO命令执行的文件不包括
使用如下关系:客户(客户号,名称,联系人,邮政编码,电话号码)产品(产品号,名称,规格说明,单价)订购单(订单号,客户号,订购日期)订购单名细(订单号,序号,产品号,数量)查询客户名称中有“网络”二字的客户信息的正确命令是()。
有关PACK命令的描述,正确的是()。
SQL语言的插入命令的关键词是()。
随机试题
根据领导生命周期理论,护士长对于非常有经验的护士应该采取的领导行为是
甲委托乙购买一套机械设备,但要求以乙的名义签订合同,乙同意,遂与丙签订了设备购买合同。后由于甲的原因,乙不能按时向丙支付设备款。在乙向丙说明了自己是受甲委托向丙购买机械设备后.关于丙的权利,下列哪一选项是正确的?(2008年卷三第3题)
地下工程施工阶段主要的工作内容有()。
“开始”菜单的选项中如果右边有黑色三角形表示该项有下级菜单。()
通过协议转让方式,投资者及其一致行动人在一个上市公司中拥有权益的股份拟达到或者超过一个上市公司已发行股份的5%时,应当在该事实发生之日起( )日内编制权益变动报告书,向中国证监会、证券交易所提交书面报告,抄报派出机构,通知该上市公司,并予公告。
根据社会保险法的规定,下列人员应当认定为工伤的有()。
通过破译敌人的密码,已经知道“香蕉苹果大鸭梨”的意思是“星期三秘密进攻”,“苹果甘蔗水蜜桃”的意思是“执行秘密计划”,“广柑香蕉西红柿”的意思是“星期三的胜利属于我们”。那么,“大鸭梨”的意思是()
A.apparentlyB.part-writtenC.treatsD.workE.securedF.supplyG.fully-writtenH.successI.allegeJ.growthK.
AllsummerlongIhavebeendreamingofextravagantusesofwater.Idonotjustmeangallonsofwaterleakingfromthepipesof
SevenWaystoCreateaHappyHouseholdA)Everyfamilyisdifferent,withdifferentpersonalities,customs,andwaysofthink
最新回复
(
0
)