第五周 课后作业(02)
动手动脑:
在eclipse中运行得到的结果如图为:
在Java的初始化中,如果在一个类中对一个变量进行了多次的赋值以后,在最后要是输出这个变量的值的时候,输出的却是在最后赋的的那个值,在以上的案例中:{field=200;}在后面再次进行private filed=300;最后输出的是300,倘若在{filed=200;}之前定义private filed=300;的话,输出的就是200。所以可以总结为一个变量在最后输出的是最后进行赋值的那个数。
在后面的动手动脑如图:
执行的结果如图:
静态初始化块的执行顺序:
在程序中首先去看父类里面有没有静态的代码块的东西,假如有的话,先会去执行父类里面的静态代码块的内容,当父类里面的静态代码块的内容执行完以后接着去执行子类里面的静态代码块里面的内容,当子类里面的静态代码块的内容执行完以后,又返回到父类里面去看是不是有非静态代码块,假如有的话,执行完以后,接着执行父类里面的构造方法,当执行完父类里面的构造方法以后,去子类里面看是不是有非静态代码块,如果有非静态的代码块的话,会执行子类里面的非静态代码块,然后会接着执行子类里面的构造方法,这就是静态初始化的执行顺序。