构造器陷阱
package gen;class Father{public void Father(){System.out.println("Father");}}public class Son extends Father {public static void main(String args[]){Son s=new Son();}}//A. Complie time error//B. Compilatin and no output at runtime//C. Output of Father//D. Runtime error Father has no valid constructor[@more@]答案为B, 理由是,public void Father 并不是Father 的构造函数。
一道迷惑人的SCJP题目
package gen;public class Outer { public static void main(String args[]){ public class Sad{ } }}编译会报错,理由是方法中的匿名内部类只能是final 或 abstract 。不过我仍然有个疑问,abstract 的内部类,怎么扩展呢?[@more@]想如下的方式,语法上没有问题,不过太变态了。class Outer { private abstract class inner_1 { abstract void func(); } public class inner_2 extends inner_1 { public void func() { }; }}