原文链接:http://www.iteye.com/topic/1115830
前几天去面试,遇到一个关于java继承的题目,跟大家分享下。大牛就不用看啦,只是检查一下大家的基础。题目如下:
有三个类,一父二子,最好调用看执行结果:
父类:
public class Father { static { System.out.println("Father static Create"); } { System.out.println("Father Create"); } public static void StaticFunction(){ System.out.println("Father static Function"); } public void Function(){ System.out.println("Father Function"); } }
子类1
public class ChildOne extends Father { static { System.out.println("ChildOne static Create"); } { System.out.println("ChildOne Create"); } public static void StaticFunction(){ System.out.println("ChildOne static Function"); } }子类2
public class ChildTwo extends Father { static { System.out.println("ChildTwo static Create"); } { System.out.println("ChildTwo Create"); } public static void StaticFunction() { System.out.println("ChildTwo static Function"); } public void Function() { System.out.println("ChildTwo Function"); } }
测试类:
public class Main { public static void main(String[] args) { Father A = new ChildOne(); Father B = new ChildTwo(); A.StaticFunction(); A.Function(); B.StaticFunction(); B.Function(); } }
最后的输出结果请大家写一下,不用去调试,凭自己的理解写写试试
本文通过一个具体的Java继承案例,详细解析了父类与子类在实例化过程中的构造方法调用顺序,以及静态方法和非静态方法的覆盖与调用机制。
1258

被折叠的 条评论
为什么被折叠?



