当前位置:文档之家› 西安电子科技大学网络与继续教育学院2020 学年下学期JAVA 程序设计期末考试试题答案

西安电子科技大学网络与继续教育学院2020 学年下学期JAVA 程序设计期末考试试题答案

一、BDBDA BBABB
二、
1、请你列举Java 语言的特点。

Java的四个基本特性(抽象、封装、继承,多态).
抽象:就是把现实生活中的某一类东西提取出来,用程序代码表示,我们通常叫做类或者接口。

抽象包括两个方面:一个是数据抽象,一个是过程抽象。

数据抽象也就是对象的属性。

过程抽象是对象的行为特征。

封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行封装隐藏。

封装分为属性的封装和方法封装。

继承:是对有着共同特性的多类事物,进行再抽象成一个类。

这个类就是多类事物的父类。

父类的意义在于抽取多类事物的共性。

多态:允许不同类的对象对同一消息做出响应。

方法的重载、类的覆盖正体现了多态。

2、请简述String 和StringBuffer 的联系和区别
可变性。

String类中使用字符数组保存字符串:private final char value[],所以string对象是不可变的。

StringBuffer继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串:char[] value,但这种对象是可变的。

线程安全性。

String中的对象是不可变的,也就可以理解为常量,线程安全。

AbstractStringBuilder是StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。

StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。

性能:每次对String 类型进行改变的时候,都会生成一个新的String 对象,然后将指针指向新的String 对象。

StringBuffer每次都会对StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。

3、请尽可能多地写出你所知道的Object 类的方法。

clone():创建并返回此对象的一个副本。

equals(Object obj) :指示其他某个对象是否与此对象“相等”。

getClass():返回此Object 的运行时类。

hashCode():返回该对象的哈希码值。

notify():唤醒在此对象监视器上等待的单个线程
notifyAll():唤醒在此对象监视器上等待的所有线程。

toString():返回该对象的字符串表示。

wait():在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。

finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

三、
1、False
2、11
3、12
4、234
四、
1、从in.txt文件读取数据,假如in.txt文件不为空,则将in.txt每一行数据经过处理输出到outp.txt文件中。

2、line 1=first
line 2=second
line 3=third
3、cannot open in.txt
4、用javac工具来编译.java 文件,在文件目录打开命令提示符,并在里打上javac 类名.java 进行编译,会生成.class文件,然后用java 文件名进行运行,不需要加.class后缀。

相关主题