最近因为面试的原因,回过头来复习基础的知识,都忘光了,准备买本面试书回来啃。
我先把自己测试的结论总结写出来,以后忘记再来看看
如果b类继承自a类,在main方法中new出b的对象(不带参数),那么他执行的顺序是:
父类a的静态方法-->类b的静态方法-->父类a的非静态方法(不指定方法名)-->父类a的无参构造-->
这个时候在父类无参构造里面调用了父类的print方法,两种可能
1.如果子类没有相应的print方法,那么直接调用父类的print方法。
2.如果子类重写了父类的print方法,那么不会调用父类的print,优先调用子类的print方法,但是仍然可以在子类的print方法里面使用super调用父类的print方法。