原文链接: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(); } }
最后的输出结果请大家写一下,不用去调试,凭自己的理解写写试试