首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据
admin
2009-01-15
61
问题
请完成以下程序,首先由一个类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://www.kaotiyun.com/show/nmnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于0并且小于等于10”,正确的SQL语句是
设有学生表student(学号,姓名,性别,出生日期,院系)、课程表course(课程号,课程名,学时)和选课表score(学号,课程号,成绩),查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是
VisualFoxPro是指一种关系型数据库管理系统,所谓关系是指
假设数据库已经打开,要删除其中的视图myview,可使用命令:
为了使命令按钮在界面运行时显示“运行”,需要设置该命令按钮的哪个属性
在数据库系统中,用户所见的数据模式为
设有关系SC(SNO,CNO,GRADE),其中,SNO、CNO分别表示学号和课程号(两者均为字符型),GRADE表示成绩(数值型),若要把学号为“S101”的同学,选修课程号为“C11”,成绩为98分的记录插入到表SC中,正确的语句是
下列程序段执行以后,内存变量y的值是x=34567y=0DOWHILEx>0y=x%10+y*10x=int(x/10)ENDDO
在考生文件夹下完成如下简单应用:1.通过一对多表单向导新建一个名为sport_form的表单。要求:把“国家”作为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,通过“国家代码”
与“SELECTDISTINCT产品号FROM产品WHERE单价>=ALL(SELECT单价FROM产品WHERESUBSTR(产品号,1,1)="2")”等价的SQL命令是
随机试题
达利的油画《记忆的永恒》和布努艾尔导演的电影《一条安达鲁狗》等属于【】
两种药物合用,一种药物能破坏另一种药物的功效,这种配伍关系属于()
患者,女,5岁。3岁时发现肝大6cm,脾大10cm。4个月前出现关节痛,以膝关节为著,运动受限。Hb65g/L,RBC3.26×1012/L,PLT67×109/L。X线右股骨下端轻度骨质破坏,血清酸性磷酸酶升高。可能的诊断
新生儿硬肿症的发生顺序为
建筑工程中,常用于网格测量距离的钢尺长度有()。
在国际铁路联运出口货运中,下列()表明铁路承运人接受了承运。
张先生以10%的利率借款500000元投资于一个5年期项目,每年末至少要收回()元,该项目才是可以获利的。
凡群众发现公安机关、公安民警有违法违纪或失职行为的,可以直接拨打“110”进行监督投诉。()
英国医生普劳特首先指出有机食物可以分为三类物质,后来分别被称为糖类、脂肪和蛋白质。后来,19世纪的化学家和生物学家逐渐研究清楚这些食物的营养性能,他们发现,蛋白质是最基本而必不可少的,只要有蛋白质供应,机体便能存活。身体不能从糖类和脂肪中制造出蛋白质,因为
“没有革命的理论,就不会有革命的运动”,这种观点()
最新回复
(
0
)