子父类代码块输出顺序,资深程序员都会犯的错误。当然也是面试的时候一些公司会出的面试题,我想可能就是知道大多数程序员都会犯错,如果符合应聘要求后期用了压工资的吧,个人觉得出这样的面试题的企业我也是醉了!!!这里整理出来和大家一起学习。
package com.algorithm;
/**
* 面试锦集:
* 子父类代码块输出顺序(资深程序员都会犯的错误)
*
* @author 小辉哥/小辉GE
* <p>
* 2019年8月4日 上午9:22:12
*/
public class SonParentCodeOrder extends People {
static {
System.out.println("子类static语句块");
}
{
System.out.println("子类语句块");
}
public SonParentCodeOrder() {
System.out.println("子类无参构造方法");
}
public SonParentCodeOrder(String arg) {
System.out.println("子类有参构造方法");
}
public static void main(String[] args) {
// 第一次调用会初始化父类和子类的静态语句块
new SonParentCodeOrder("测试");
System.out.println("############分隔符############");
// 第二次调用不会初始化父类和子类的静态语句块
new SonParentCodeOrder("测试");
}
}
class People {
static {
System.out.println("父类static语句块");
}
{
System.out.println("父类语句块");
}
public People() {
System.out.println("父类无参构造方法");
}
public People(String arg) {
System.out.println("父类有参构造方法");
}
}
测试输出结果如下:
以上代码仅供参考,如有不当之处,欢迎指出!!!
更多干货,欢迎大家关注和联系我。期待和大家一起更好的交流、探讨技术!!!