首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Seriali
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Seriali
admin
2009-01-15
102
问题
请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt()和 setDouble()分别给这两个变量赋值和用toString()方法显示对象的私有成员变量的值,要求将这个类定义为Serializable,再创建这个类的持久对象,将对象写入名为ex3_2.data的文件中并显示对象的2个成员变量,最后从这个文件中读取这个对象并显示对象的2个成员变量。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:
ex3_2: i=123 d=123.456
ex3_2: i=123 d=123.456
import java.io.*;
public class ex3_2 implements Serializable {
private int n3_2;
private double d3_2;
ex3_2() {
n3_2 = 25;
d3_2 = 12.23;
}
public void setDouble(double x) {
d3_2 = x;
}
public void setInt(int x) {
n3_2 = x;
}
public String toString() {
return("ex3_2: i=" + n3_2 + "d=" + d3_2);
}
public static void main(String[] arg) {
ex3_2 e1 = new ex3_2 );
ex3_2 e2;
e1.setInt(123);
e1.setDouble(123.456);
System.out.println(e1);
try {
FileOutputStream fos3_2 = new FileOutputStream("ex3_2.data");
ObjectOutputStream oos3_2 = new ObjectOutputStream(fos3_2);
________________;
} catch(IOException ioe) {
System.out.println(ioe);
}
try {
FileInputStream fis3_2 = new FileInputStream("ex3_2.data");
ObjectInputStream ois3_2 = new ObjectInputStream(fis3_2);
________________;
System.out.println(e2);
}catch(10Exception ioe) {
System.out.println(ioe);
}catch(ClassNotFoundException cnfe) {
System.out.println(cnfe);
}
}
}
选项
答案
oos3_2_writeObject(e1) e2 = (ex3_2)ois3_2.readObject()
解析
本题主要考查对象串行化的方法和可串行化类的构造方法。解题关键是熟练掌握串行化的概念和目的,熟悉串行化的方法,如FileOutputStream类的用法等,在Java中这些方法已经成为一种模式,需要熟记。本题中,通过构造可串行化类ex3_2实现了Serializable接口并且含有2个成员变量n3_2和d3_2,这2个成员变量需要包括在数据流中以便保存某个ex3_2对象的整个状态,程序首先创建了一个ex3_2对象,接着将它存到一个磁盘文件中,然后再将它作为一个新对象读回。第1个空,通过ObjectOutputStream的对象oos3_2调用writeObject()方法将ex3_2的对象e1写入磁盘文件ex3_2.data中;第2个空,通过ObjectInputStream的对象ois3_2调用readObject()方法从磁盘文件ex3_2.data中读取对象,由于读出来的是Object类型的对象,所以需要做类型转换。
转载请注明原文地址:https://kaotiyun.com/show/HIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
2007年我国文化、体育和娱乐业劳动力需求人数比水利、环境和公共设施管理业多( )将2007年我国各行业的劳动力需求按从多到少排序,排在第一、第二位的两个行业的劳动力需求差距与排在第二、第三位的两个行业的劳动力需求差距的比值是( )
2006年度,江苏省医疗结构中,非营利性医疗机构比营利性医疗机构多____。2006年度,江苏省卫生院的数量比医院的数量____。
《全国推进依法行政实施纲要》要求,减少行政执法层次,适当下移执法重心。对与人民群众日常生活、生产直接相关的行政执法活动,其主要实施机关是()。
由于某化肥厂长期排污,该地域内两个村庄几年来多人患有罕见的严重疾病,根据《环境保护法》的规定,下列哪一选项是错误的?()
关于加快转变经济发展方式的基本要求,下列说法不正确的是()。
如果政府把经济增长作为宏观调控的正常目标,通常要实行扩张性的财政政策和货币政策,以刺激总需求,一般情况下,这会导致()。
根据2014年中央一号文件的规定,赋予农民对承包地的权利不包括()。
我们知道,法国国旗是由蓝、白、红三条纵向的色带组成的。实际测量可以发现,三条色带中蓝色带最宽,白色带最窄,红色带宽度居中。出现这种现象的原因是()。
对下列语句排序正确的一项是()。①也许是月亮的香气吧,我这么想②看见蛎粉墙上印着我的身影,我于是重又意识到了我③我心中不起一切杂念,大约历一刻钟之久,才回转身来④从江岸直到我的楼下是一大片沙坪,月光照着,茫然一白,但带点儿青的意
C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是()。
随机试题
再造想象
关于补体的描述,下列不正确的是
关于神经衰弱下列选项正确的是
采用电子计算机系统代替手工记账的单位,只需要有严格的操作管理制度。()
关于技术创新的说法,正确的有()。
不单独核算废品损失的企业,相应的费用直接反应在“制造费用”和“营业外支出”科目中。()
甲公司因扩大经营规模需要筹集长期资本,有发行长期债券、发行优先股、发行普通股三种筹资方式可供选择。经过测算,发行长期债券与发行普通股的每股收益无差别点为120万元,发行优先股与发行普通股的每股收益无差别点为180万元。如果采用每股收益无差别点法进行筹资方
如果某被试者SCL-90总分治疗前为180分,治疗后为120分,那么该被试者的SCL-90总分减分率为()。
汤显祖的四部著名剧作被誉为“临川四梦”,下面不属于这“四梦”的是______。
表外业务
最新回复
(
0
)