Java期末考试题及答案_第1页
Java期末考试题及答案_第2页
Java期末考试题及答案_第3页
Java期末考试题及答案_第4页
Java期末考试题及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java期末考试题、简答题(共 8个题,每题 5分,共 40分)1. java 语言有哪些特点?1)简单的a)Java 最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。b)Java的风格类似于 C+,因而C+程序员初次接触 Java语言,就会感到很熟悉。从某种意义上讲, Java 语言是 C 及 C+ 语言的一个变种。c)Java摒弃了 C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。d)Java 提供了丰富的类库,可以帮助我们很方便的开发Java 程序。2)面向对象的面向对象可以说是 Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。J

2、ava语言的设计是完全面向对象的 ,它不支持类似 C 语言那样的面向过程的程序设计技术。3)健壮的Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比 C+Java自己负责内存管理,提供了还要严格。类型检查帮助我们检查出许多开发早期出现的错误。垃圾内存回收机制,有效的避免了C+中最头疼的内存泄漏问题。4)安全的Java 的安全性可从两个方面得到保证。一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。从一开始, Java 就被设计成能够防范各种袭击,包括:禁止运行时堆栈溢

3、出。例如,蠕虫等病毒常用的袭击手段;禁止在自己的处理空间之外破坏内存;未经授权禁止读写文件;许多安全特性相继不断的被加入Java 中。5)解释的Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C+程序是编译执行的,C+程序代码被编译为本地机器指令,然后执行。6)与平台无关的Java 运行JavaJava 作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在虚拟机上运行。7)多线程的4 个桌Java语言的一个重要特性就是

4、在语言级支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子 就好像单线程,那么你需要先做桌面,做完桌面后,再做子腿,如果现在有 5 个人来做桌子 在程序中开辟 5个线程,其中 1 个人做桌面,另外 4 个人分别做 4 个桌子腿,那么这两种方式效率的高低,相信大家都能区分出来。8)动态的Java 的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类。在C+程序设计过程中, 每当在类中增加一个实例变量或一个成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。Java 从以下几个方面采取措施来解决这个问题。a)Java编译器不是将对实例

5、变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来,传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。b) 个在存储器中生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。C)解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字岀现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。d) Java还简化

6、了使用一个升级的或全新协议的方法。如果你的系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载你所需要的功能程序。2. 什么是 java 虚拟机?Java 虚拟机 JVM(Java Virtual MaChine) 在 JAVA 编程里面具有非常重要的地位。约相当于JAVA 运行环境 JRE。 JAVA 虚拟机是在真实机器中用软件模拟实现的一种想象机器,它为不同的硬件平台提供了一种编译 JAVA 技术代码的规范,该规范使 JAVA 软件独立于平台。JVM 对下列各项做岀了定义:指令集,寄存器,类文件格式,栈,垃圾收集堆,存储区。Java 虚拟机的功能:1)通过 ClassLoad

7、er 寻找和装载 Class 文件2)解释字节码成为指令并执行,提供Class 文件的运行环境3)进行运行期间垃圾回收4)提供与硬件交互的平台JAVA 虚拟机是 JAVA 平台无关的保障。 正是因为有虚拟机这中间层, JAVA 才能够实现与平台无 关。虚拟机就好比是一个 JAVA 运行的基本平台,所有的 JAVA 程序都运行在虚拟机上。所有与平台 有关的东西都是由虚拟机去处理3. 什么是方法重载( Overloading )与方法覆盖( Overriding )?(1) 方法重载( Overloading ):方法重载是指同名的方法在不同的地方具有多种含义。方法重载使得在类中可以存在方法名相同

8、的多个方法,但方法的原型不能完全相同,由方法的参数不同来决定所使用的是哪个方法。方法的原型包括方法名和方法参数类型。(2) 方法覆盖( overriding )方法覆盖也叫方法重写,是指方法的含义被重新编写后的方法所替代。对于方法覆盖,子类可以重新实现父类的某些方法,并具有自己的特征。这样,覆盖隐藏了父类的方法,使子类可以具有自己的实现方法。子类覆盖父类的方法时,子类中方法的访问权限不能低于父类中该方法的访问权4. java 中 equals 和“= =”的区别?使用“ = = ”比较基本类型字段,使用 equals 方法比较对象字段。= = 操作比较的是两个变量的值是否相等, 对于引用型变量

9、表示的是两个变量在堆中存储的地址 是否相同,即栈中的内容是否相同; equals 操作表示的两个变量是否是对同一个对象的引用,即堆中 的内容是否相同。= 比较的是 2 个对象的地址, 而 equals 比较的是 2 个对象的内容。 显然,当 equals 为 true 时,= 不一定为 true 。5. 什么是抽象类?什么是接口?abstract 修饰。一般称含有抽象方法的类称为抽象类。抽象类是不能被实例化的类,用接口是一种与类相似的结构,但接口不是类,而是一组对类的要求,这些类要与接口一致一个类可以实现一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。6. 什么是多态?pol

10、ymorphism )。一个对象变量可以指向多种实际类型对象的现象被称为“多态”(7. 异常的分类?它们的区别是什么?Error :称为错误,由Java虚拟机生成并抛岀,包括动态连接失败、虚拟机错误等,程序对其不作处理。Exception :所以异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获。Runtime Exception :一类特殊的异常,如被 0 除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响很大。因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。8. 什么是流?流(stre

11、am)是输入和输岀设备的一种抽象表示,这些设备是数据源或数据终点。可以象流中写入数据,也可以从流中读出数据。可以把流想象为流入自己程序或从自己程序中流出的字节序列。当把数据写入流时,该流称为输岀流。输岀流可以通往任何可以传输字节序列的设备,例如硬盘上的文件,或连接用户系统至远程系统的电话线路。输岀流也可以通向显示器,但这会大大限制其真正的功能。二、程序设计题(共 4 个题,每题 15分,共 60分)1、输岀 1到 100以内的前 10个质数。public class Zhishu public static void main(String args)int s,i,j=0;for(s=2;s

12、<=100;s+)for(i=2;i<=s/2;i+)if(s%i=0)break;if(i>s/2)j+;if(j<=10)2、计算并输出result=1 ! +2! +3! +10!的结果。public class Sum public static void main(String args)+10 !");int s=0,t=1;int n;for( n=1; nv=20; n+) t=t* n;s=s+t;3、定义一个长方形类,该类具有长和宽两种属性,并具有相应的构造方法、属性访问方法和计算周长和面积的方法,要求输出长是5宽是4的长方形的面积和周长。

13、P ublic class Recta ngle 4、private double length;.,我的年龄是岁";Father类增加了一个属性:爱好,并重写了父类Parents中的print()方法,输出“我是父亲,我的名字是.,我 的年龄是岁,我的爱好是.”重写了父类Parents中的print()方法,输出“我是母亲,我的名字是.,我的;Mother类增加了一个属性:头发的颜色,并年龄是岁,我头发的颜色是.”。最后定义一个测试类Test,要求显示如下 信息:5、我是家长,我的名字是王瑞,我的年龄是6、 我是父亲,我的名字是张峰,我的年龄是45岁,我的爱好是打保龄球7、我是母亲

14、,我的名字是孙娟,我的年龄是Parents :36岁36岁,我的头发颜色是棕色p ublic abstract class Parents p rivate Stri ng n ame;/p rivate int age;/p ublic Paren ts()p ublic Paren ts(Stri ng n ame,i nt age) (n ame);(age);p ublic void setName(Stri ng n ame)年龄姓名=n ame;p ublic Stri ng getName() return n ame;p ublic void setAge(i nt age)=

15、age;p ublic int getAge()return age;void Sys()Father :p ublic class Father exte nds Paren tsp rivate Stri ng favor;p ublic Father(Stri ng n ame,i nt age, String favor)super(n ame,age);=favor;p ublic void setFavor(Stri ng favor) =favor;p ublic Stri ng getFavor() return favor;void Sys()Mother :p ublic class Mother exte nds Paren tsprivate Stri ng hairColor;/头发颜色p ublic Mother(Stri ng n ame,i nt age,Stri ng hairColor) super(n ame,age);=hairColor;p ublic void setHairColor(Stri ng hairColor) =hairColor;public Stri ng getHairColor() ret

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论