关于继承之后调用的先后
去年刚找工作的时候,被一家游戏公司面试过这样一道题:有几个类相互继承(关系很乱,记不清咯..),然后调用不同的类选择打印的顺序,那时候懵懵懂懂的,基础知识很不扎实,做得一塌糊涂.现在忽然想起,留个纪念.
public class Parent { /** * 父类 */ static{System.out.println("This is Parent static mothed");}public Parent(){System.out.println("This is Parent constructor");}}public class Child extends Parent{/** * 子类,继承父类 */static{System.out.println("This is Child static");}public Child(){System.out.println("This is Child constructor");}}public interface ChildInterface {/** * 接口 */ void print();}public class Child2 extends Parent implements ChildInterface {/** * Child2继承Parent实现ChildInterface接口 */static{System.out.println("This is Child2 static ");}public Child2(){System.out.println("This is Child2 constructor");this.print();}public void print() {System.out.println("This is Child2 print");}}public class Main {/** * 主程序调用 * @param args */public static void main(String[] args){Child child=new Child();ChildInterface child2=new Child2();}}