高级语言程序设计-2019年秋季学期期末复习题-答案_第1页
高级语言程序设计-2019年秋季学期期末复习题-答案_第2页
高级语言程序设计-2019年秋季学期期末复习题-答案_第3页
高级语言程序设计-2019年秋季学期期末复习题-答案_第4页
高级语言程序设计-2019年秋季学期期末复习题-答案_第5页
全文预览已结束

下载本文档

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

文档简介

1、一、 单项选择题 (每题 2 分,共 20 分) 1定义接口使用的关键字是(D ) Apublic Babstract Cstatic Dinterface2. 关于 Java 中的变量命名规范,以下说法正确的是( C)A变量由字母、下划线、数字、$符号随意组成 B变量可以数字作为开头 CA 和 a 在 Java 中不是同一个变量 D不同类型的变量,可以起相同的名字3下列选项中哪个是将一个八进制值赋值给一个 long型变量的正确方法( ) Alongnumber=345L; Blongnumber=0345; Clongnumber=0345L; Dlongnumber=0x345L;4. J

2、ava 中,关键字 void 的含义是( A) A方法没有返回值 B方法体为空 C没有意义 D定义方法时必须使用5下列值不为 true 的表达式有(C ) A "john"="john" B "john".equals("john")C "john"="john" D "john".equals(newString("john")6下面初始化数组的语句中,不正确的是(D ) Aintx =5,6,4; Bintx=newint5,6,4

3、; Cintx=5,6,4; Dintx3= 5,6,4; 7. 下面代码片段中,执行之后 i 和 j 的值为( A) inti=1;intj; j=i+*2+3 A.2,5 B.1,5 C.2,7 D.1,78. 下述概念中不属于面向对象方法的是(B ) A对象、消息 B过程调用 C类、封装 D继承、多态9关于继承的正确说法是( B) A子类将继承父类所有的属性和方法 B子类将继承父类的非私有属性和方法 C子类只继承父类 public 方法和属性 D子类只继承父类的方法,而不继承属性10下列关于修饰符混用的说法,错误的是(D ) Aabstract 不能与 final 并列修饰同一个类 Ba

4、bstract类中不可以有 private 的成员 Cabstract方法必须在 abstract 类中 Dpublic 可以和 private 同时使用二、 简答题 (每题 10 分,共 20 分) 1. 简述编写和运行 Java 应用程序的基本步骤。   首先将用java语言编写的程序(即源代码.java文件)经过java编译器处理编译成字节码文件(.class文件),这个字节码文件可在任意一个平台的不同java虚拟机(jvm)上屏蔽平台差异而运行。在jvm中,程序首先被类装载器处理加载类文件,然后进入字节码校验器检查代码的语法规范性以及安全性,接着进入解释器把抽象的字节码指令映

5、射到本地系统平台下的库引用或指令,最后到操作系统平台运行。Java编译原理:Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。一.Java源文件的编译、下载 、解释和执行Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码?字节码。这一编译过程同C/C+ 的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的

6、内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全 性。运行JVM字节码的工作是由解释器来完成的。解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。装入代码的工作由"类装载器"(class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放在自己的名字空间

7、中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问。随后,被装入的代码由字节码校验器进行检查。校验器可发现操作数栈溢出,非法数据类型转化等多种

8、错误。通过校验后,代码便开始执行了。Java字节码的执行有两种方式:1.即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。2.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作。通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。2. 简述 Java 中接口机制及其实现方法。接口类似于类,但接口的成员没有执行体,它只是方法、属性、事件和索引符的组合而已。接口不能被

9、实例化,接口没有构造方法,没有字段。在应用程序中,接口就是一种规范,它封装了可以被多个类继承的公共部分。定义接口接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。Java 接口本身没有任何实现,只描述 public 行为,因此 Java 接口比 Java 抽象类更抽象化。Java 接口的方法只能是抽象的和公开的,Java 接口不能有构造方法,Java 接口可以有 public、static 和 final 属性。接口把方法的特征和方法的实现分隔开来,这种分隔体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一

10、个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其他的共同之处。接口对于其声明、变量和方法都做了许多限制,这些限制作为接口的特征归纳如下:· 具有 public 访问控制符的接口,允许任何类使用;没有指定 public 的接口,其访问将局限于所属的包。· 方法的声明不需要其他修饰符,在接口中声明的方法,将隐式地声明为公有的(public)和抽象的(abstract)。· 在 Java 接口中声明的变量其实都是常量,接口中的变量声明,将隐式地声明为 public、static 和 final,即常量,所以接口中定义的变量必须初始化。

11、83; 接口没有构造方法,不能被实例化。例如:1. public interface A 2. publicA() / 编译出错,接口不允许定义构造方法3. · 一个接口不能够实现另一个接口,但它可以继承多个其他接口。子接口可以对父接口的方法和常量进行重写。例如:1. public interface StudentInterface extends PeopleInterface 2. / 接口 StudentInterface 继承 PeopleInterface3. int age = 25; / 常量age重写父接口中的age常量4. void getInfo(); / 方法

12、getInfo()重写父接口中的getInfo()方法5. Java 接口的定义方式与类基本相同,不过接口定义使用的关键字是 interface,接口定义由接口声明和接口体两部分组成。语法格式如下:public interface interface_name extends interface1_name, interface2_name, / 接口体,其中可以包含定义常量和声明方法 public static final type constant_name = value; / 定义常量 public abstract returnType method_name(parameter_l

13、ist); / 声明方法其中,public 表示接口的修饰符,当没有修饰符时,则使用默认的修饰符,此时该接口的访问权限仅局限于所属的包;interfaCe_name 表示接口的名称,可以是任何有效的标识符;extends 表示接口的继承关系;interface1_name 表示要继承的接口名称;constant_name 表示变量名称,一般是 static 和 final 型的;returnType 表示方法的返回值类型;parameter_list 表示参数列表,在接口中的方法是没有方法体的。提示:如果接口本身被定义为 public,则所有的方法和常量都是 public 型的。实现接口接口被

14、定义后,一个或者多个类都可以实现该接口,这需要在实现接口的类的定义中包含 implements 子句,然后实现由接口定义的方法。实现接口的一般形式如下:<public> class <class_name> extends superclass_name implements interface, interface /主体如果一个类实现多个接口,这些接口需要使用逗号分隔。如果一个类实现两个声明了同样方法的接口,那么相同的方法将被其中任一个接口使用。实现接口的方法必须声明为 public,而且实现方法的类型必须严格与接口定义中指定的类型相匹配。答案二1、接口是Java中

15、最终要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。2、接口的格式:1234interface interfaceName全局常量抽象方法3、接口的实现也必须通过子类,使用关键字implements,而且接口是可以多实现的。4、一个子类可以同时继承抽象类和实现接口。5、一个接口不能继承一个抽象类,但是却可以通过extends关键字同时继承多个接口,实现接口的多继承。三、 程序设计题 (每题 20 分,共 20 分) 1. 编写程序,打印出所有的 "水仙花数 "。"水仙花数 "是指一个三位数,其各位数字立方 和等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=

温馨提示

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

评论

0/150

提交评论