诚毅学院计算机专业JAVA考试重点(开卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(15分。哈哈,自求多福了。)
二、填空题(10分。哈哈,还是自求多福。)
三、问答题:(从中抽取4题,每题5分,难道是全拿了)
1、Java语言的基本特点:
Java是简单的,面向对象的,分布式的,解释型的,健壮的,安全的,结构中立的,平台独立的,可移植的,高效的,多线程的,动态的语言。
2、面向对象程序设计的特点:
①抽象:
面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性
②封装:
将这些数据和方法封装在一起,形成类。通过封装和访问控制,可以对类中的数据成员和成员函数起到保护作用。接口与实现的第一次分离
③继承:
继承的作用:通过继承,可以以现有类为基础,派生出新类,达到代码重用的目的。
继承的本质:将从同一基类导出的多种类型视为同一类型来处理,而同一份代码就可以毫无区别地运行在这些不同的类型之上了。
④多态:
多态的作用:多态是面向对象最核心的机制,多态使程序的可扩展性达到了极至。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
多态的本质:多态方法调用允许一种类型表现出与其它相似类型之间的区别,只要它们都是从同一基类导出来的
3、java的垃圾回收机制:
优点:
不再需要考虑内存管理;Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
原理:
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
4、泛型:
泛型是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类,也可以说是广泛的。
优点:简单,明确指定其持有对象的类型。安全性好,可读性好
缺点:可重用性差,无法持有其他类型的任何对象
5、int和integer的区别:
①Int是基本的数据类型,直接存数值。Integer是复杂的数据类型,是对象,用一个引用指向这个对象,是其包装类,定义了很多的转换方法。
②int和Integer都可以表示某一个数值。
③int和integer不能够互用。
为什么要提供包装类呢?
一是为了在各种类型间转化,通过各种方法的调用。否则你无法直接通过变量转化。
6、String 和stringbuffer和stringbuilder区别:
①String:字符串常量,值创建之后不能改变,可以被共享,可以不用new创建对象。
②stringbuffer:字符串变量,内容可以被修改,长度可以改变,是线程安全的,需要用new创建对象。
③stringbuilder:字符串变量,内容可以被修改,长度可以改变,是非线程安全的,需要用new创建对象,在单线程中使用效率会更高。
7、Overload和override的区别:
Overload:重载
参数类型、个数、顺序至少有一个不相同;不能重载只有返回值不同的方法名;存在于父类和子类、同类中;
Override:重写
方法名、参数、返回值相同;子类方法不能缩小父类方法的访问权限;子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常);存在于父类和子类之间;方法被定义为final不能被重写
8、Abstract class和interface的区别:
Abstract class Interface
实例
化
不能不能
类一种继承关系,一个类只能使用一次
继承关系。可以通过继承多个接口实
现多重继承
一个类可以实现多个interface
数据成员可有自己的
静态的不能被修改即必须是static final,一
般不在此定义
方法可以私有的,非abstract方法,必须
实现
不可有私有的,默认是public,abstract 类型
变量可有私有的,默认是friendly 型,其
值可以在子类中重新定义,也可以重
新赋值
不可有私有的,默认是public static final 型,
且必须给其初值,实现类中不能重新定义,不能
改变其值。
设计
理念
表示的是“is-a”关系表示的是“like-a”关系
实现需要继承,要用extends 要用implements
相同点:
①两者都是抽象类,都不能实例化。
②interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。
不同点:
① interface需要实现,要用implements,而abstract class需要继承,要用extends。
②一个类可以实现多个interface,但一个类只能继承一个abstract class。
③interface强调特定功能的实现,而abstract class强调所属关系。
④尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的 (declaration, 没有方法体),实现类必须要实现。而abstract class的子类可以有选择地实现。
⑤abstract class是interface与Class的中介。
interface是完全抽象的,只能声明方法,而且只能声明pulic的方法,不能声明private 及protected的方法,不能定义方法体,也不能声明实例变量。然而,interface却可以声明常量变量,并且在JDK中不难找出这种例子。
9、事件,事件源和事件监听器概念,使用事件监听器进行事件处理的过程
事件源(Event source):产生事件的组件
事件(Event):用户对组件的一个操作,称之为一个事件
Java程序对事件处理的方法是放在一个类中的,这个类就叫事件监听器。
过程:
向组件(事件源)注册事件监听器后,事件监听器就与组件建立关联,当组件接受外部作用(事件)时,组件会产生一个相应的事件对象,并把这个事件对象传给与之关联的事件监听器,事件监听器就会被启动并执行相关的代码来处理该事件。
10、Java的异常处理机制:
异常机制:
程序出现错误后程序如何处理,控制权交给异常处理器。(异常都是在运行中的,不是编译时的)
异常处理流程:
遇到错误,方法立即结束,同时抛出一个异常对象。调用该方法的程序停止,并搜索一个可以处理该异常的,并执行其中的代码。
异常处理:
①既然捕获了异常,就要对它进行适当的处理。不要捕获异常又把它丢弃,不予理睬。
②在catch语句中尽可能指定具体的异常类型,必要时使用多个catch。不要试图处理所有可能出现的异常。
③保证所有资源都被正确释放。充分运用finally关键词。
④在异常处理模块中提供适量的错误原因信息,组织错误信息使其易于理解和阅读。例如当前正在执行的类、方法和其他状态信息,包括以一种更适合阅读的方式整理和组
织printStackTrace提供的信息。
⑤尽量减小try块的体积。
⑥全面考虑可能出现的异常以及这些异常对执行流程的影响。