main 执行new Sub(2);
按class sub构造方法,sub(int i)是先执行this()也就是Sub();//这里先留一步,稍后回来执行sub( int i)后面的打印5
执行sub(),按构造方法是要执行 this(12,"12")也就是sub(12,"12")//这里先留一步,稍后回来执行sub()后面的打印4
执行sub(12,"12"),按构造方法是先执行继承自父类的Super(1,"1");super指继承父类,//这里先留一步,稍后回来执行sub(int i,String str)后面的打印6
执行Super(1,"1"),同样是先执行父类的this(1)即父类的Super(1),按执行,终于不再拐弯,打印出一个2,然后再执行Super(1,"1")后面的打印3
接下来就开始往回走了,之前没做完的事挨个做完,打印出6,4,5.就是绕来绕去,静下心走走就明白了,没那么难(》+《)睡觉了