Java基础面试题(2012完整版)

上传人:桔**** 文档编号:764 上传时间:2016-11-03 格式:DOC 页数:79 大小:611.88KB
返回 下载 相关 举报
Java基础面试题(2012完整版)_第1页
第1页 / 共79页
Java基础面试题(2012完整版)_第2页
第2页 / 共79页
Java基础面试题(2012完整版)_第3页
第3页 / 共79页
Java基础面试题(2012完整版)_第4页
第4页 / 共79页
Java基础面试题(2012完整版)_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《Java基础面试题(2012完整版)》由会员分享,可在线阅读,更多相关《Java基础面试题(2012完整版)(79页珍藏版)》请在金锄头文库上搜索。

1、第一部分 类1. 请解释 言的跨平台特性。解析:虽然不知道什么是跨平台也可以使用 言进行编程,但是对于一个 程员来说,理解跨平台特性能够更深入掌握 言,所以企业中往往要求应聘者至少理解这个特性。参考答案:跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。他的意思就是如果用 言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。之所以能实现跨平台的特性。主要得益于 拟机(,释器在运行 用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。言的主要特点解析:了解一门语言,往往从熟悉该语言的主要特点开始入手,所以企业也

2、常常通过应聘者对 言特点的掌握程度而判断其语言基础是否扎实。参考答案:言有很多特点,主要包括跨平台性:一个应用可以不经过修改直接运行到不同的平台上。面向对象:言是一门面向对面的语言,可以使用对象的属性和行为,可以使用面向对象的思想进行分析设计,并实现整个应用。解释执行 的解释器将解释类文件,生成符合当前平台的字节码。自动回收:的后台线程将监视内存中数据的使用,当内存中的数据不再被引用时,将被作为垃圾回收,而不需要程序员动手回收。中主要包含哪几个元素?并说明每种元素的作用。解析:无论简单还是复杂的 用,都是由若干个类组成,所以类是 用的组成单位。了解一个类中包含的主要元素能够对类有一个清晰的认识

3、。一个类中往往会有五种元素,即属性、方法、构造方法、块以及内部类、其实块和内部类比较少见。参考答案:中主要包含属性、方法、构造方法、块以及内部类。属性用来定义对象的数据;方法用来定义对象的行为;构造方法可以用来创建对象;块能够用来在类加载时执行操作或者在每次实例化前执行通用操作;内部类作为类的一个成员存在,能够访问外部类的属性和方法。4、请说明构造方法的作用和特征解析:类是对象的模板,使用类往往都需要首先对类进行实例化,即创建对象。要创建对象必须使用 键字调用构造方法(能完成,构造方法中往往对属性进行实例化,也可以实现其他必要的功能,如读取属性文件等。构造方法有独特的特征:名字必须与类名相同且

4、大小写敏感,而且构造方法不能声明返回值,这两个特征缺一不可。使用 具时,可以使用菜单 动生成不同的构造方法。参考答案:构造方法的作用是用来创建对象,使用 键字调用。构造方法的名字必须与类的名字相同,并且大小写敏感,同时构造方法不能声明返回值类型,可以使用任意一种访问修饰符,但是不能使用其他修饰符进行修饰,如 修饰符都可以修饰构造方法。5、什么事方法重载(解析:如果一个类的某个行为,会有不同的算法和逻辑,例如,的计算绝对值的方法,既可以计算 型数值的绝对值,也可以计算 型数值的绝对值。这种情况下,每种类型都定义一个不同的方法名,如 么类的可读性就较差,使用时,必须熟悉处理每种类型参数所对应的方法

5、名。然而,如果使用同一个方法名,而使用不同的形式参数来区别这些方法,那么就具有很好的可读性,如 i) 、d)等。可读性强的代码是企业对开发人员的基本要求,方法重载能够使得代码有很好的可读性。参考答案:方法重载指的是在一个类中可以声明多个相同名字的方法,而方法的形式参数有区别。调用这些同名的方法时,根据实际参数的不同绑定到不同的方法。6、请列举 言中的权限访问修饰符,并说明每种权限的含义。解析:正确使用权限访问修饰符,能够有效控制类以及类成员的安全性,言中有四种访问修饰符,包括 包、及 般情况下,应用中的类多是 限,属性多是 限,方法多是 限。参考答案:言中有四种权限访问修饰符,即 包以及示公共

6、权限,即任何包中都可以访问:示受保护权限,即同包中可以访问,同包中的子类可以访问:同包权限是默认权限,即不显示指明权限修饰符的时候就是同包权限,表示只有同包中可以访问:私有权限,表示只能在本类中访问。7、请列举 言中的八种基本数据类型,并说明每种数据类型的含义及长度。解析:数据类型在任何一门编程语言中都是很重要的知识点,属性、方法参数、方法返回值要指定各自的数据类型。言虽然是一门面向对象的语言。但是也定义了基本数据类型,基本数据类型可以直接赋值,不需要使用 键字创建,可以直接使用运算符进行运算,编程中经常被使用,而且 言中的基本数据类型的长度固定,不会随着平台的不同而不同。参考答案:言的八种基

7、本数据类型有:节型,8 位长度:6 位长度,型,32 位长度:整型,64 位长度:精度浮点型。32 位长度:精度浮点型,64 位长度:符型,16 位长度:,表示逻辑值,有 个值,用类型和基本数据类型有什么区别?解析:很多初级程序员都能够理解 i=20;中的 一种类型,称为整型。而对于类似 e=;这样表达式中的 感觉无所适从。其实,任何一个类都是一种类型,如 是一种类型,可以说变量 e 的类型就是 以说,除了八种基本数据类型之外的类型都是引用类型,包括 所有的类、自定义的所有类,也包括数组。引用类型和基本数据类型的直观区别就是引用类型的变量需要使用 用构造方法来赋值,而基本数据类型可以直接使用“

8、= ”号赋值。但是,引用类型中的 较特殊,既可以使用键字赋值,也可以直接使用“=”赋值,一般情况下都使用“= ”直接赋值。参考答案:言中除了基本数据类型之外的类型,都称为引用类型。引用类型就是类的类型,所有的对象都是引用类型,包括数组对象。引用类型必须使用 用构造方法进行赋值,引用类型的变量拥有自己的属性和方法,可以使用圆点调用自己的属性和方法。基本数据类型直接使用=号进行赋值,且没有自己的属性和方法,往往都在声明属性或方法时使用。象,可以使用“=”赋值,也可以使用 键字赋值,两种方式有什么区别?解析:型是实际工作中经常使用到的类型,从数据类型上划分,一个引用类型,是 定义的一个类。所以 型的

9、对象可以使用 建,例如;为变量 行赋值,值为“。然而,比起其他类 有些特殊,可以使用“= ”直接赋值,如 也是为变量 行赋值,值为“。这两种赋值方式是有差别的,使用 值,永远都是创建一个新对象,在新的内存空间初始化了字符串的值;而使用“=”赋值,不会每次都初始化新的字符串,而是从一个“字符串实例池”中去查找有没有要赋值的字符串,如有则直接引用;如不存在,则初始化一个字符串,并放入“字符串实例池” 。在实际编程中,往往使用“=”好对型变量进行赋值。参考答案:使用“= ”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串。使用 行赋值,则每次都创建一个新的字符串。是一个“不可变

10、类” ,请解释“不可变类”的含义。解析:是一个不可变类,即 。所谓不可变,意思是当一个字符串被初始化后,它的值就不会被改变。例如,s=)为将初始化一个值为 字符串,如果调用 看起来是把 为大写的 而事实上并不会把已有的 为 是在新的空间初始化一个 符串。也正因为有这种不可变性,所以才能支持“字符串实例池”的使用。参考答案:所谓的不可变类,就是当字符串初始化后,就不能够被改变。和 有什么区别?解析:是不可变类,字符串一旦初始化后,就不能被改变。而 是可变类,字符串值可以呗改变。常常在实际应用中看到累死这样的代码:s=;s+=”这两句代码首先创建一个字符 后将 加到 尾并重新赋值给变量 s。然后,

11、这个过程实际上是这样的:首先创建一个 象,然后用 的法追加字符串,最后对 象调用 法合成字符串返回。可见,使用+号连接字符串时,本质上是使用了可变的 ,经变动肯定性能效率受到影响,所以建议需要追加字符串时,可以考虑直接使用 。参考答案:是不可变类,即字符串值一旦初始化后就不可能改变。可变字符串类,类似 缓冲区,可以修改字符串的值。12 有什么区别?解析: 增加的一个新类,在以前版本中不存在这个类。的方法和的方法基本相同,但是 线程安全的,而 是线程安全的,因此在不考虑同步的情况下,更好的性能。参考答案:线程安全的字符串缓冲,而 是线程安全的。什么作用?解析:初级程序员常常对 者 到混淆。在 言

12、中,有八中基本数据类型,即 应这八种基本数据类型,定义了八个类,能把这些基本类型转换成引用类型,分别是 这八个类被统称为包装器类。后,包装器类和基本数据类型之间可以直接转换,称为自动的装箱拆箱(。例如 ;虽然写法上可以像使用基本数据类型一样使用包装器类型,但是本质上依*行了类似 )的转换,因此,不要轻易使用包装器类的自动装箱拆箱,以优化的性能。能够使用基本类型就使用基本类型。参考答案:包装类器包括 类,主要用来对 八种基本数据类型进行包装,使其称为引用类型。14. 请说明 言中的值传递规则。解析:值传递时编写应用时不可避免的操作。例如某方法声明形式是 f(x),写方法是,必须为其传递一个 型的

13、实际参数,如 f(10)。又如 g(那么使用该方法时,必须为其传递一个 型的实际参数,例如 g()。所以,对于初级程序员来说,了解言的值传递规则非常重要。言是本类型传递的值,例如 f(10),仅仅把 10 复制给形式参数x,是值的拷贝。而引用类的传递时引用,即虚地址,例如 g()是把实际参数的虚地址传递给形式参数 e,也就是说实际参数和形式参数的虚地址相同,物理上是同一个对象。参考答案:基本数据类型传递的是值,引用类型传递的是引用,即虚地址。饰属性或方法后,属性和方法有什么特征?解析:饰符是一个非常常见并重要的修饰符,称为静态。静态不是指值不能改变,很多初级程序员容易容易望文生义的地方。常用来

14、修饰类的属性或者方法。当一个属性或者方法和对象没有关系,或者说是任何对象共享的时候,那么就应该用 行修饰。列如某类中的计数器,用来计算实例的个数。那么这个计数器属性就是所有对象共享的属性,就应该用 饰。又例如 中的法,用来返回参数的绝对值,这个方法和 的对象没有关系,对象可以共享这个方法,那么这个方法就可以用 饰。程序员必须深入理解 饰符的使用。参考答案:饰属性或方法后,属性和方法不在属于某个特定的对象,而是所有共享,也可以说是 员不依赖某个对象,在类加载时就被初始化。饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。饰属性后,属性有什么特征?解析:属性可以是变量也可以是常量,如

15、果是常量,就需要使用 饰。如果使用 饰了某个属性,那么该属性值一旦被赋值,就不能被修改,实际中常常有这个样的码:;也就是说,常常会生命静态的常量。静态常量的命名规范非常特殊,往往都是用大写字母,如果包含多个单词,每个单词之间使用下划线连接。静态常量的意思是,该类所有的对象都拥有一个不变的常量 为 很多类都定义了很多的静态常量,使用时直接使用类名调用即可。参考答案:饰属性后,属性就成为一个常量。常量只要被赋值,就不能被改变。 的作用。解析:实际编程中,=是非常常用的操作符。很多初级程序员会使用这样的代码 if(s=”,结果会发现,即使当字符串 s 的值为 ,件依然不能被执行。是=在比较引用类型时

16、,比较的是两个对象的虚地址,而不是内容。要比较两个对象的内容是否相同,往往需要使用 法,例如if()。= 比较基本类型时,将比值的二进制是否相等,例如(x=。值得注意的是,与空指针 进行比较,往往用=进行,例如 if(s=”),表示如果字符串是空指针或者空串。参考答案:=可以用来比较基本类型或者引用类型。比较基本类型时,=用来比较二进制的值,比较引用类型时,用来比较对象的虚地址。18 请说明& 与&的区别和联系解析:实际编程中,常常需要使用“与”或者“或”的逻辑。其中&和& 存在一定区别&可能发生各路问题,例如 if(s!=6)中,如果要的值为 么第一表达式的值为 回值肯定是 会计算第二个表达

17、式的值,这就是短路。然而使用&,例如 if(s!=6),假设 s 的值为,回值肯定是 是会判断第二个表达式的值,将发生空指针异常。实际工作中,经常使用&操作符。参考答案:&会发生短路问题,当第一个表达式的值为 ,将直接返回结果为 不会判断第二个表达式的值。而&不会发生短路问题,即使第一个表达式的值是 判断第二个表达式的值。19请列举 言中的几种位运算符,并说明位运算符的作用。解析:位运算符是对二进制数值进行运算,左移一位相当于乘 2 运算,右移一位相当运算。位移运算符效率较高,往往在游戏开发中经常使用。参考答案:言中有三种位移运算符,分别是;有符号右移,右移一位相当于除 2;;无符号右移,忽略

18、符号位,空位都以 0 补齐。20. 句能在什么场景使用。解析:句表示中断,不能够随便使用,只能在循环语句中或者 句中使用。初级工程师往往容易将 淆。可以再方法体中任意位置使用,可以带值返回页可以不带值返回,执行 句后,该方法将返回,也就是方法执行结束。而 能在循环体中或者 句中使用,不能随意使用。参考答案:句可以再循环体中使用,也可以在 句中使用。环中的 句和 句的使用。解析:很多时候,循环是为了查找某些符合条件的数据,只要找到就没有必要继续下去,称为中断循环,句就可以用来中断循环。而 句恰恰相反,是用来继续下一次循环。值得注意的是,言中可以再循环前面加标号,即 后可以使用 断或继续标号的循环

19、。参考答案:以用来中断循环,以用来继续下一次循环。第二部分 类之间的关系1. 用代码表示 A 类关联 B 类的情况。解析:一个 用中不可能只有一个类,所以了解类之间的关系对程序员来说非常重要。关联关系是最常用的一种关系,如果说 A 关联 B,那么就是 B 作为 A 的属性存在。关联关系是一种复用的策略,即 A 关联 B 的时候,A 可以复用 B 的行为。参考答案: b; b)b=b;2请说明 言中数组的基本概念,数组的作用,以及数组的声明创建方式。解析:数组时任何一门语言里都常用的类型,言也不例外。程序员了解数组,不能仅仅从语法上了解,而应该深入理解数组的作用。数组可以用来存储类型相同的元素,

20、作为一种数据容器使用。和数组类似的概念是集合,也能作为数据容器使用。参考答案:数组时相同元素的集合,作为数据容器使用。声明创建一个 数组,如下所示:x=;其中 3 是数组的长度,该数组能够存储 3 个 变量。建一个长度为 5 的 数组,并使用增强 环迭代数组打印出数组中的元素。解析:增强 环是 加的特性,可以方便地遍历数组或集合。程序员需要了解的是,如果本低于 不支持这个功能。另外,并不是说有了增强 环后,传统的 环就不被使用,增强 环只能用来方便地遍历数组和集合,其他情况下还要使用传统的 环。参考答案: ;s:s);的作用。解析:在实际工作中,常常需要对数组中的元素进行处理,例如排序等。初级

21、程序员往往选择自己编写算法实现。实际上 提供了 ,该类中定义了很多和数组有关的工具方法,能够方便地处理数组,是程序员必须掌握的类。参考答案:是 中的一个类,类中所有的方法都是 法,这些方法都是数组对象的工具方法,能够对数组进行处理,如 类依赖 B 类的含义。解析:对于程序员来说,了解类和类之间的关系非常必要。依赖关系指的是一种瞬间的关系。如果A 依赖 B,一般指的是 A 类的某个行为,需要 B 类对象作为参数。参考答案:f(B b)析:关联关系和依赖关系是非常常见的两种关系,二者的区别也很明显,程序员了解二者的区别能够更深入的理解面向对象的思想。参考答案:依赖关系是一种瞬时关系,A 依赖 B,

22、指的是 A 的某个行为的参数是 B 的类型,也就是说,A 要想实现这个行为,必须依赖 B 的实例,A 关联 B,是一种长久的关系。?的是 B 作为 A 的属性存在,只要实例化一个 A 的对象,就会为这个 A 的对象实例化一个 B 的对象,作为它的属性使用,可以在 A 中任何需要使用 B 的地方使用 B。言中的继承有什么特点?解析:继承是面向对象语言的一大特征,主要作用是重复使用,子类通过继承父类,能够重复使用父类的属性和方法。指的注意的是,有两个策略都可使实现重复使用,一个是关联,一个是继承,实际编程中,关联用的更多。因为子类继承父类后,相当于父类中的细节将暴露给子类。初级程序员一定不要随意使

23、用继承,避免滥用继承。参考答案:继承主要为了能够重复使用父类中的成员。言中的继承是单继承,也就是说一个类最多只能继承一个父类。8、什么是方法覆盖(并说明方法覆盖与方法重载(区别。解析:方法覆盖是一个非常重要的概念,是多态性的一个体现。方法覆盖发生再去爱继承关系中,当子类需要修改从父类继承到某个方法的方法体时,就可以声明一个父类同名同参数同返回值的方法,这样就对父类中的那个方法进行了覆盖,子类对象调用该方法时将自动绑定到子类中的方法。中很多类中都进行了方法覆盖,如 中的法,就覆盖了父类 的 法。参考答案:覆盖是发生在继承关系的子类中,当子类要修改从父类继承的某个方法的方法体时,就可以在子类中声明

24、一个与父类同名、同参数并且同返回值类型的方法,这就是方法覆盖。而重载与继承没有关系,指的是在一个类中可以同时声明多个同名但不同参数的方法,称为重载。9、请说明什么是抽象类?抽象类有什么作用?解析:初级程序员往往不需要自己创建抽象类,但是必须了解抽象类的概念,并且会使用抽象类。抽象类往往是设计阶段的概念,用来定义多个子类的模板,一些具体的实现可以在子类中进行。初级程序员往往需要会创建子类继承抽象类,实现抽象类中的方法。在,抽象类比比皆是。参考答案:抽象类是不能实例化的类,使用 饰。抽象类往往用来做父类使用,定义一些子类的共同属性或行为。10、请说明抽象方法的含义,并说明抽象类与抽象方法的关系。解

25、析:抽象方法都是在抽象类中定义的,是用来定义子类 to 策略,而具体的to 在子类中实现。参考答案:抽象方法是没有办法体的方法,使用 饰。抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。11、键字的两种用法。解析:使用一些 成代码时,常常会在构造方法中见到 个关键字。顾名思义,和父类有关的一个关键字,熟悉 用法对熟练掌握继承很有必要。参考答案:如 :表示调用父类中的每一参考的构造方法:又如 0);表示调用父类中的具有一个整型参数的构造方法。第二种用法是在子类中调用父类中的成员,;意思是调用父类中的 f()方法。12、与 法有什么作用?解析:饰符是一个用途非常广泛的修饰符,可以修饰类,

26、方法,以及属性。参考答案:是不能够被继承的类,称为终极类,如 就是 ,不能有子类。饰方法后,是终极方法,不能被子类覆盖,但是可以被子类继承使用。态函数有什么用?解析:多态性是面向对象语言的的一大特征,重载,覆盖,多态参数是多态性的一种表现形式。多态参数处处可见,例如某方法 f(o),这个方法的参数类型是 用该方法时,只要传递给 f 的单数类型是 可。也就是说,的任意参数可以传递给 f 方法。这就是多态参数。意思是对外形式都一样,都是 体实现可以是这个类型的任意子类,这就使得该方法比较灵活,不需要修改,就能直接作用到那个子类。了解多态参数的含义和使用,对于 考答案:多态函数就是参数的类型是某个父

27、类类型,具体为这个参数赋值的不同以使用该父类的任意子类的对象。使用多态参数,可以使程序的扩展性更好,即使%的子类方法不需要任何修改,就能接受子类类型进行处理。有什么特点?解析:是一个非常重要的类,是所有类的父类,包括数组在内,也就是对一个 ,不管是 定义的,还是自定义的类,都直接或间接的继承了 。所以,如果有一个方法f(o),那么可以传递给这个方法任意一个类的对象,包括% 。因为所有对象都可以说是 型。参考答案:是多有类的直接或间接的父类。中的 法有什么用?解析:是所有类的父类,所以 中的方法是所有类都默认具备的。类中的 法可以将任意一个对象作为字符串返回,默认的格式是“类名内地%”很多类已经

28、覆盖了这个方法,将其返回值的格式进行了自定义,如 中的方法已经覆盖为返回字符串的字符序列。法在很多场合被自动调用,例如%一个对象时,就自动调用该对象的 法,如果需要修改返回字符串的格式,%另外类中的覆盖 法。参考答案:法可以把对象作为字符串返回。中的 法和 法。解析:在 中,法比较对象的引用值,也就是只有物理上是同一对象的两个引用,在使用 法返回 法返回一个对象的内在地址的十六进制值。由于 是所有类的父类,所以任意类中都拥有这两个方法,并都可以进行覆盖。尤其是操作 象时集合元素类的 法和 法非常必要,因为 断元素是否重%是依靠这两个方法进行。一般的原则是:如果存在 X 和 Y 两个对象,调用

29、)相同时,那么调用 法返回值也应该相同;如果 )返回 ,那么调用 法返回值可能相同,也可能不同。值得注意的是,只要你覆盖了 法,一定%则覆盖 法。在实际工作中,很多 境都支持覆盖 法。参考答案:中的 法用来比较两个引用值,来返回引用的内地址的十六进制数值。在 及 合中,判断两个元素是否重复时,往往需要使用这两个方法。这两个方法往往被子类覆盖,覆盖的规则是:如果存在 x 和 y 两个对象,调用 y)返回 ,那么调用法的返回值也该相同;如果 y)返回 ,那么调用 法返回的值可能相同,也可能不同。抽象类有什么区别?解析:接近欧的概念是一个设计层面的概念,初级程序员往往不会自己定义接口,但是会使用接口

30、,理解接口的概念非常必要。接口定义了实现类的规范,即 to 部分,所有实现类必须按照这个规范进行实现。参考答案:接口的特点是不能定义变量,而且所有方法都是抽象方法。而抽象类中可以有变量,也不强制必须有抽象方法。什么区别?解析:类继承父类与类实现接口,本质上其实是一样的。都是将父类或者接口作为模板,在这个模板上进行扩展或者重写。程序员在实际编程中,常常需要继承父类或者实现接口。参考答案:类继承父类只是单继承,也就是一个子类最多只有一个父类;而类实现接口可以多实现,就是一个子类可以同时实现多个接口,并覆盖所有接口中的所有抽象方法。口有什么作用解析:口是在实际编程中常常使用的接口,该接口定义了 o)

31、方法,用来定义对象的比较逻辑。这个接口常常在其他 会强制使用,例如 的 )方法,就强制数组元素必须实现 口,与这个接口类似的 另外一个接口是 考答案:口定义了 o)方法,可以用来实现对象的比较逻辑,这个接口常常在其他 强制使用,用来规范对象的比较逻辑第三部分 异常处理1 常和错误有什么区别?解析:异常处理是面向对象语言比起过程式语言的一大改进。对于 序员来说,必须了解异常处理,才能顺利编程。参考答案:异常是一些不正常的事件,能够中断程序的正常执行例如才除 0 计算就是异常。和错误不同,异常是可以被处理的,而错误往往是不能够处理的,如内存溢出错误。2 什么异常?什么情况发生该异常?解析:程序员必

32、须能够了解常见的异常的发生原因,并能够处理。是特别常见的运行期异常。参考答案:空指针异常,当一个引用没哟被赋值,就是一 如果这种情况下, 使用该引用调用其属性或者方法, 就会发生 常。句块的作用解析:编写 序,避免不了需要处理异常。处理异常使用 实现。尤其其中的 句非常值得程序员关注,可以用来执行必须实现的功能,例如数据库的链接等操作。参考答案:句块用来包含可能发生异常的语句,用来捕获异常,来包含必须执行的语句。4如何使用语句抛出异常,抛出异常后如何处理?解析:某些业务逻辑的非正常事件流,可以使用抛出异常来标记。抛出的异常必须是有意义的异常类型,建议不要使用 的标准异常类,避免混淆。参考答案:

33、使用 句就可以抛出异常,如 。抛出异常时一般情况下会在声明方法处使用 明该类型的异常,调用该方法是编译器将提示异常。5. 键字和 键字有什么区别和联系?解析: 异常处理时两个常见的关键字,初级程序员常常容易正确理解 作用和区别,说明已经能比较深入理解异常处理。来抛出异常,如果执行了 句,程序将发生异常,进入到异常处理机制。来声明异常,说明这个方法可能会发生某些类型的异常,那么编译器将强制在调用这个方法的时候处理异常。的很多方法都使用了 明了异常,所以使用这些方法时编译器会提示需要处理异常。参考答案:来在方法体内抛出异常,而 来在方法声明处声明异常。这两个关键字有着一定的联系。如果一个方法中使用

34、了 键字抛出了异常,那么要么立即用 句进行捕获,要么就是用 行声明,否则将出现编译错误。然而,并不是只有使用了 键字之后才能使用 键字,语法上来说,任何一个方法都可以直接使用 键字,抽象方法也可以使用。6. 什么是自定义异常类?为什么要自定义异常类?解析:企业应用中,往往会自定义一系列的异常类,标记一些非正常的事件流。然而,这些自定义异常类不会让每个程序员都自定义,而是会由专人定义,分发给程序员使用。参考答案:自定义异常类区别于 的标准异常类,指的是开发人员自己创建的异常类。只要继承 某个异常类就可以自定义一个异常类,常常集成 。自定义异常类主要是为了标记业务逻辑中非正常事件流,避免与 的标准

35、异常混淆。第四部分 核心 请画出 合框架的主要接口和类的继承关系。解析:集合石非常重要的类型, 也是企业考察员工编程能力时常常关注的知识点。程序员应该熟悉合框架的主要继承关系, 掌握常用集合类的用法和特点2. 口和 口分别定义了什么集合类型?有什么区别?解析: 合框架中两个基本集合类型,要区别不同的集合首先要从 始。参考答案:口是传统的集合接口,可以把单个对象存储进来。而 口是映射接口,存储的是键值对。3. 用简单代码演示创建一个泛型类为 的 象,并使用增强环迭代集合。解析:后,集合框架中的接口和类都是泛型类及泛型接口,并可以使用增强 环迭代集合。程序员需要确认开发平台的 本,如果低于 不能使用这些功能。参考答案: ;c : 4. 合有什么区别?解析: 口的两个子接口,也是使用最多的两种集合类型。程序员应该熟悉这两个接口的基本特征,能够更准确地选择正确的集合类型。参考答案:现了列表类型的集合,的元素是有序(,每个元素根据放入集合的顺序而对应一个索引值, 可以根据这个索引值返回集合原宿。而 现了不重复元素集合,即 的元素不能够重复,重复的元素将无

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板/表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号