文档介绍:都是一些非常非常基础的题,是我最近参加各大 IT 公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大 IT 校园招聘的同学们, 纯考 Java 基础功底, 老手们就不用进来了, 免得笑话我们这些未出校门的孩纸们,但是 IT 公司就喜欢考这些基础的东西,所以为了能进大公司就~~~ 当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~ 1. 下面哪些是 Thread 类的方法() A start() B run() C exit() D getPriority() 答案: ABD 解析:看 Java API docs 吧: http://docs./javase/7/docs/api/ , exit() 是 System 类的方法, 如 (0) 。 2. 下面关于 类的说法正确的是() A 继承自 Throwable B Serialable CD 不记得,反正不正确答案: A 解析: Java 异常的基类为 , 和 继承 Throwable , RuntimeException 和其它的 Exception 等继承 Exception , 具体的 RuntimeExceptio n 继承 RuntimeException 。扩展:错误和异常的区别(Error vs Exception) 1) : Throwable 的子类,用于标记严重错误。合理的应用程序不应该去 try/catch 这种错误。绝大多数的错误都是非正常的,就根本不该出现的。 : Throwable 的子类, 用于指示一种合理的程序想去 catch 的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去 catch 它。 2) Error 和 RuntimeException 及其子类都是未检查的异常( unchecked exceptions ),而所有其他的 Exception 类都是检查了的异常( checked exceptions ). checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如 FileNotFoundException, ParseException 等。检查了的异常发生在编译阶段,必须要使用 try … catch (或者 throws )否则编译不通过。 unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期, 具有不确定性, 主要是由于程序的逻辑问题所引起的。比如 ArrayIndexOutOfBoundException, ClassCastException 等。从语言本身的角度讲,程序不该去 catch 这类异常,虽然能够从诸如 RuntimeException 这样的异常中 catch 并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是 bug ,应该被修复,出现此类错误时程序就应该立即停止执行。因此,面对 Errors 和 unchecked exceptions 应该让程序自动终止执行,程序员不该做诸如 try/catc h 这样的事情,而是应该查明原因,修改代码逻辑。 RuntimeException : RuntimeException 体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理 RuntimeException 的原则是: 如果出现 RuntimeException , 那么一定是程序员的错误。例如, 可以通过检查数组下标和数组边界来避免数组越界访问异常。其他( IOException 等等) checke d 异常一般是外部错误, 例如试图从文件尾后读取数据等, 这并不是程序本身的错误, 而是在应用环境中出现的外部错误。 3. 下面程序的运行结果是() String str1 = "hello"; String str2 = "he" + new String("llo"); (str1 == str2); 答案: false 解析: 因为 str2 中的 llo 是新申请的内存块,而== 判断的是对象的地址而非值, 所以不一样。如果是 String str2 = str1 ,那么就是 true 了。 4. 下列说法正确的有()