9 m/ V7 W5 \# K! V2 H 第二十三,启动一个线程是用run()还是start()? , ?& D; h* y: z( T 5 E* t# W5 b1 q# w9 ~ F 第二十四,构造器Constructor是否可被override? 0 Z; q- g* l! |! g4 _: ^; e9 s2 Y# r. L
第二十五,是否可以继承String类? 4 \- @$ R, U1 E; e' b& |9 S# h* E* ]; {# Y/ O* k% @
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? ) n- a y4 i- t, K& x: r o; I2 D L3 `2 i, }- [
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? ; ~% B" M0 F" S$ m2 I9 D " T% p, ^! Z+ V! T. n% v 第二十八,编程题: 用最有效率的方法算出2乘以8等於几? " H' ]8 _; U G2 R7 L' l" X3 `4 {7 H: m; H1 n
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 1 P4 V, s! R, V& X- j0 w5 `( Q9 J, E" N
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? , r- d& Q; W* y/ @4 t 3 F2 d9 ?8 N* w2 v7 E 第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 7 {- C( U- W: i: F, ? - T" ^0 I, v" s; k6 v# T7 ]0 C 第三十二,编程题: 写一个Singleton出来。 y; o& a* u) i1 x5 C0 S
x' z6 w% R% N8 l) O4 w3 N4 y7 C
以下是答案 3 A& \! _1 u8 S1 u5 D; V% X 2 v: G7 ^% i9 L3 w) L 第一,谈谈final, finally, finalize的区别。 5 b& [) R& ^) H% n9 { S+ N" u' J
final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 ' K" \0 X" G) J
/ }2 T" s% E4 }( D# D( e finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 ' m$ [* v0 f2 O! y$ z
/ j: B" }, F& g
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? # \* L. A( p/ o
2 j6 q# [1 z3 x% `( u! H; N
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。 5 _% n0 ~+ E& q: M. d* u7 J
; h6 y+ z- Y, L5 W% R$ M 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 - j3 z$ n" M, C9 n
8 a! y0 k2 D+ b. Q6 @6 s) L
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1 2 D1 I$ P( J2 O7 e' S4 @# u B
0 R& B6 S [! w. M/ g- B c- {
注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 , ~$ H* c/ A9 X+ ~1 b
; N( L( C$ E9 T3 L3 N3 h% s: d 第四,&和&&的区别。 $ J1 d4 C7 U _