Java期末考试复习资料.docx
《Java期末考试复习资料.docx》由会员分享,可在线阅读,更多相关《Java期末考试复习资料.docx(24页珍藏版)》请在三一办公上搜索。
1、Java期末考试复习资料事件处理机制中包含以下3 个部分事件源、事件对象和事件监听器,JAVA2 的事件处理模型被称为委托事件处理模型。JAVA线程在其生命周期中会处在不同的状态,包括运行、暂停、同步和挂起 。 创建一个名为 MyPackage 的包的语句是packge MyPackage ,该语句应该放在程序的位置为:源代码的第一行 Java 中访问限定符有public、private_、protected和default 等。 JVM 是Java Virtual Machine的缩写; AWT 是abstrac window toolkit的缩写。表示可直接对数据源进行读写操作的流称为 节
2、点流 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet 类的子类并且存储该源程序文件的文件名为MyApplet.java如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器_javac.exe_编译该源程序文件将产生3 个文件名与类名相同而扩展名为.class 的字节码文件。JAVA语言规定object类是JAVA程序中所有类的父类,当前类的构造方法用this表示,直接父类的构造方法用_super表示。单重继承是指只有一个父类的继承;多重继承是指有一个以上父类的继承;Java 语言出于安
3、全、可靠的考虑,仅支持单重继承;但Java 语言可通过接口来实现多重继承。 简述面向对象软件开发方法的重要意义。面向对象的软件开发方法按问题论域来设计模块,以对象代表问题解的中心环节,力求符合人们日常的思维习惯,采用“对象+消息”的程序设计模式,降低或分解问题的难度和复杂性,从而以较小的代价和较高的收益获得较满意的效果,满足软件工程发展需要。 解释下面几个概念:1)对象:就是现实世界中某个具体的物理实体在计算机中的映射和体现,是由属性和 操作所构成的一个封闭整体。2)实例:是对象在计算机内存中的映像。3)类:是描述对象的“基本原型”,是描述性的类别或模板,即对一组对象的抽象。 它定义一组对象所
4、能拥有的共同特征,用以说明该组对象的能力与性质。 4)消息:消息是对象之间进行通信的一种数据结构。5)封装:封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明与实现显式地分开,其内部实现按其具体定义的作用域提供保护。6)继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。7)多态:多态性是指一个名字具有多种语义,即指同一消息为不同对象所接受时,可以导致不同的操作。 对象“汽车”与对象“小汽车”是什么关系,对象“汽车”与“轮胎”又是什么关系?对象“汽车”与对象“小汽车”具有继承关系,即对象“小汽车”继承了对象“汽车”。 “轮胎”是对象“
5、汽车”的一个属性,所以对象“汽车”包含“轮胎”,二者是包含关系。 简述 Java 语言的主要特点: 1简单性2面向对象3分布式4健壮性5结构中立6安全性7可移植8解释的9高性能10多线程11动态性 简述 Java 语言与 C/C+语言的主要差异:Java 基于 C+,与之有许多相似之处,但其设计更易于使用,它们之间主要差异有:1)Java 中无 CC+中最复杂并有潜在危险的指针2)Java 无 C/C+中的#include 、#define 和头文件。3)Java无C/C+中的 structure,union 及 typedef。4)Java 无 C/C+中的函数、指针和多重继承。5)Java
6、 无 C/C+中的 goto 指令。 6)Java 无 C/C+中的操作符重载(Operatior Overloading)、自动类型的转换。7)Java 系统要求对对象进行相容性检查,以防止不安全的类型转换。8)Java 语言最强大的特性之一是它的平台独立性,Java 可以处理好平台之间的移植问题。9)Java 语言中没有全局变量的定义,只能通过公用的静态的变量实现,从而减少了引起错误的地方 什么叫 Java 虚拟机?什么叫 Java 的字节码?Java 虚拟机是一个软件系统,它可以翻译并运行 Java 字节码。它是 Java 的核心,保证了在任何异构的环境下都可运行 Java 程序,解决了
7、Java的跨平台的问题。Java的字节码是与平台无关的是虚拟机的机器指令。 简述 Java 程序的运行过程:首先编写 Java 源代码程序,通过 Java 虚拟机编译成.class 的字节码程序。然后通过然后再执行翻译所生成的字节代码,属于先解释后执行方式。在运行时,字节码载入器用于调入包含、继承所用到的所有类,确定内存分配,变成真正可执行的机器码。由,再通过字节码校验器就是用于检验字节码是否正确,如果通过校验,再由系统执行平 台解释执行 Java 程序分哪两类?各有什么特点?Java程序根据程序结构的组成和运行环境的不同可以分为两类:Java Application和Java Applet。
8、Java 独立应用程序是一个完整的程序,需要独立的 Java 解释器来解释执行;而 Java 小应用程序则是嵌在 Web 页面中的非独立应用程序,由Web浏览器内部所包含的 Java 解释器来解释执行,为 Web 页面增加交互性和动态性。 Java 语言对标识符命名有何规定,下面这些标识符哪些是合法的,哪些是不合法的:合法的标识符有:Myname、JavaLanguage、_is_Has 非法的标识符有:2Person、$12345 Java 有哪些基本数据类型,与 C/C+相比有何特点?复合数据类型是哪几种?基本数据类型有:整型数据类型,实数数据类型,字符数据类型和布尔数据类型。与 C/C+
9、相比,Java 的数据类型与 C+相似,但有两点不同:在 Java 语言中所有的数据类型是确定的,与平台无关,所以在 Java 中无 sizeof 操作符;Java中每种数据类型都对应一个默认值。这两点体现了Java 语言的跨平台性和完全稳定性。Java 的复合类型是由用户根据需要自己定义并实现其运算的数据类型,主要有类类型、接口和数组等 Java 的字符类型采用何种编码方案?有何特点?Java 的字符类型采用16位Unicode方式,用16位来表示东西方字符。由于采用 Unicode 编码方案,使得 Java 在处理多语种的能力方面得到大大提高,从而为 Java 程序在基于不同语种之间实现平
10、滑移植铺平了道路。 Java 有哪些运算符和表达式?请写出下面这些表达式的运算结果。 1) a%b+ 2) (a=1)&ab) 4) ( a)=1)&ab)的结果是:false 4)( a)a 的结果是:0 Java中标准输入输出使用哪种系统类、使用哪个对象和方法?通过系统类 java.lang.System 达到访问标准输入输出的功能。System 类管理标准输入输出流和错误流,有以下三个对象: 1)System.out:把输出送到默认的显示。常使用输出的方法有 print、println等。2)System.in:从标准输入获取输入。常实现输入处理的方法有 read、skip等;3)Sys
11、tem.err:把错误信息送到默认的显示。常见方法有 print、println、write等。 分析下面两个三重循环程序之间的差别,写出结果,然后上机进行检验。在三重循环1中,System.out.println语句是在三重循环之外的,输出的是count的最后的值,而三重循环2中,System.out.println语句在循环体内,输出的是每次循环后count发生变化的值。 三重循环1的运行结果是:count=54 三重循环2的运行结果是: count=20 count=34 count=54 Java 程序中字符串常量使用什么类表示?字符串变量又使用什么类来表示?它们的主要区别在哪里? 字
12、符串常量常用 java.lang.String 类表示,字符串变量常用 java.lang.StringBuffer 类来表示。它们的主要区别在于:String 对象一旦创建不会发生变化,具有只读性质;而 StringBuffer对象创建后可扩充和修改字符串对象的内容。 请说明程序“String s1=I like ;s1+=Java!;”和程序“StringBuffer s1=new StringBuffer(I like );s1.append(Java!);”的区别。根据你得出的结论,如果程序需要处理大量的字符串连接操作,应该尽量使用String类还是StringBuffer类?程序“S
13、tring s1=I like ;s1+=Java!;”中,s1 表示字符串变量,在执行第一次运算时,s1 赋值一个字符串对象“I like ”,而第二次运算,s1 被赋值另一个字符串对象“I like Java”,二次运算中赋值的对象完全不同。而对于程序“StringBuffer s1=new StringBuffer(I like );s1.append(Java!);”,变量 s1 在两次运算中始终表示一个字符串对象,只是这个字符串对 象的内容发生了变化。程序在处理大量的字符串连接操作,尽量使用 StringBuffer 类的对象来处理。这是因为 StringBuffer 对象可以扩充和
14、修改字符串对象,有利于减少系统资源的消耗 写出类的格式声明中允许使用的关键字。它们代表的含义是什么?类的格式声明允许使用的关键字有:abstract、static、final、public、class、implements 以及 extends 等。abstract 表示定义一个抽象类,static 用于定义静态嵌套类、final 定义一个最终类,public 定义一个公共类、class 表示定义一个类、implements 表示定义的类实现的接口以及用 extends 表示该类继承某类 类的成员数据的修饰符是否和类的成员方法部分相同,部分不同。请写出与成员方法不同的修饰符是哪些?它们的含义是
15、什么?类的成员数据修饰符有部分和成员方法相同,如访问控制符、static、final 等。有部分的修饰符存在不同。对于成员变量与成员方法不同的修饰符有:transient、volatile;对于成员方法与成员变量不同的修饰符有:native、abstract、synchronized 写出构造方法的定义和用途?构造方法是一种特殊的方法,它与类名同名,但不具有返回值。构造方法由用户自定义,如果没有定义系统会自动创建一个默认的无参构造方法。构造方法用于对象的创建和初始化 关键字 static 在修饰类、类的成员数据和类的成员方法中的作用各是什么?static 在修饰类时,往往修饰类中定义的嵌套类,
16、也称为静态嵌套类,提高了类的封装性。static 在修饰类的成员数据和成员方法时,表示定义一个静态成员,该成员为类成员,为该类的所有对象共享 this 关键字的含义是什么?它的主要用途有哪些? this 关键字表示当前对象。它可以实现对对象成员的访问,可以实现在构造方法内调用其他的构造方法来创建和初始化对象 写出嵌套类的分类,并加以区分:嵌套类是在一个类内定义另外一个类。根据 static 的存在性分成两大类:静态嵌套类和内部类。有 static 关键字为静态嵌套类,外部类的所有成员可以共享该静态嵌套类。无 static修饰的嵌套类为内部类。内部类必须与外部类的实例相关联,通过外部类的对象创建
17、内部类的对象实例 子类将继承父类所有的属性和方法吗?为什么?在什么情况下会出现子类对父类变量的隐藏?什么情况下出现子类对父类方法的覆盖?试举一例子类继承父类的共有和保护类型的方法和属性,但是对于父类的私有方法和属性无法继承。如果子类覆盖了父类的静态方法,父类的方法被隐藏。而覆盖是子类具有重新定义父类成员方法的能力。例如:智能手机是手机的子类,手机可以打电话,而智能手机可以具有打电话并增加传递视频信号的功能,重新定义手机打电话的功能 方法的覆盖和方法的重载有什么不同?方法的覆盖是子类重新定义父类的成员方法,这意味着子类定义的方法具有和父类的方法具有同方法名、同参数类型、同参数类型以及同返回值。而
18、方法的重载是在同一个类中定义同名方法的情况,这些同名方法除了方法名相同,但方法签名必须不同 如何创建一个List或Set对象?使用它们存放数据时哪种对象不能存放重复元素?可以使用关键字 new 调用相应构造函数创建 List 或 Set 对象。1要创建 List 对象时可使用以下方法:List list = new ArrayList;或 ArrayList arraylist = new ArrayList;或 LinkedList linkedlist = new LinkedList;等等。2要创建 Set 对象则调用相应的构造函数:HashSet hashset = new HashS
19、et; 等。|Set 定义的集合中不能包含相同的元素 列举几种可以遍历集合对象中元素的方法:可以使用 Iterator 接口定义的方法来遍历类集,或直接使用循环语句来对集合中对象进行遍历 如何向一个 HashMap 对象中添加元素?通过调用 Map 接口中定义好的 put方法可以该对象中添加相应的元素,该方法原型为 Object put(Object key, Object value);如若已经建立了一个 HashMap 对象 hashmap,则可使用 hashmap.put(“关键字”,“元素值”)来向 hashmap 对象添加元素及该元素的值 什么是代理事件处理模型?请举例说明。Java
20、 语言采用基于代理的事件处理模型。基于代理事件处理模型是引进了监听器接口,每个事件类都有相关联的监听器接口。当用户对 GUI 组件有所动作,GUI 组件会自动产生相应的事件来响应用户的动作;假设这些 GUI 组件已经注册了相关的监听器对象,监听器对象会一直监听已注册的组件对象是否有事件发生。当监听器对象监听到组件有相对应的事件发生,就会调用监听器对象中方法,即事件处理器来实现一定的动作。就这样,通过对目标监听器对象的相关 Java 方法调用,实现事件从事件源到监听者的传递 常见的事件处理方式有哪几种?请比较各种方式的特点?有通过实现监听器接口来处理事件利用独立监听器类实现事件处理利用内部类实现
21、事件处理、以及利用匿名内部类实现事件处理四种事件处理方式。特点:方法可直接对监听器接口的方法进行处理和调用,并且应用简单方便。但是,这种方式存在一个问题,由于实现接口的方法和定义类的方法处于平行定义,如果要求对多个组件有不同的处理,这种方法无疑会增加阅读程序的困难。 方法事件处理的方式优点在于,处理事件的方法清晰明了,可读性强。另外,允许扩展事件适配器来定义新的监听器的类,可以减少不需要的方法的处理。但是,在事件发生的主类中,会增加事件发生对监听器对象的方法的额外调用。方法是利用内部类来实现事件处理,具有上述两种方法的优点。但是随着发生事件的组件增多,程序会变得比较庞大,增加对程序的理解。 方
22、法是利用匿名内部类实现事件处理。有效减少代码的长度,但是利用匿名内部类更会增加程序阅读的难度 什么是编译错误?什么是运行错误?性质有什么不同?试列举你遇到的编译错误和运行错误。对于这两类的错误,分别应该如何排除?编译错误:由于编写的程序存在语法问题,未能通过源代码到目标码的编译过程产生的;运行错误:运行错误是在程序的运行过程中产生的错误。根据性质不同,运行错误还可以分为系统运行错误和逻辑运行错误。性质:没有编译错误是一个程序能正常运行的基本条件,只有所有的编译错误都改正了,源代码才可以被成功地编译成目标码或字节码;只有程序能够运行,才有可能发生运行错误。举例:编译错误:大小写错误,忘记写“;”
23、等。运行错误:死循环,数组越界等。排除方法:编译错误:Java 的编译程序一般都能给出编译错误的原因和发生错误的位置,根据这些信息排除错误,现在有些开发环境能够自动的排除一些编译错误;运行错误:要充分的依靠开发环境的 Debug 功能,利用单步测试来找出程序中的问题 请比较 Java 的异常处理机制与其它语言异常处理机制:简单比较 Java 和 C+异常处理机制:1)Java 和 C+的异常处理作用都是增加程序的健壮性,保证程序的正常运行。2)Java 的异常处理框架是 try-catch-finally,其中 finally 可有可无,若有,则一定会执行 finally 部分代码;而 C+的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 期末考试 复习资料
链接地址:https://www.31ppt.com/p-3159681.html