静态语句块在继承中的顺序问题 继承时父子类都有一个静态语句块,实例子类对象,为什么执行顺序是先父类后子类呢?请高手指教!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 静态语句是在编译的时候就初始/执行所以是最先执行的语句快.constructor是只有在创建对象的时候才执行,所以静态语句是比constructor先执行的. class c1 extends c2 {}; 是先编译C2,这时候执行 c2 中的static(如果父类中的静态变量不先初始,那么在子类中就用不了,这也就是说父类的静态变量/语句先执行)然后编译C1, C1 的静态执行然后是C1 静态方法 public static void main()....如果在main()里面有 对象创建,这时候就是父类的constructor,然后是子类的constructor一个例子:http://keshuwei.wordpress.com/2010/11/10/the-execute-order-between-static-and-constructor/ constructor是先父类后子类,而static比constructor还要在前。这是java设计者的原因。 关于java gui 编程问题 想求输入10个数求平均值,最小值,最大值`!编出的代码。发现不能输入数字 新手求教 关于包 急!!!!! 讨论:java 如何有效实现对一段英文文章的,单词,行数的统计。 一段代码,请高手讲解 怎样在JAVA文件中用代码实现创建一个文件? 我的变量为什么一定要用静态的才行?谢谢大虾们拉! 给树图节点设置icon的问题 如何根据字符串形式的IP地址构造出InetAddress对象? 一个关于鼠标事件的简单问题,好急!!!! swing 中2个事件连锁触发,如何让触发停止!!! 项目总结怎么写呀
所以是最先执行的语句快.
constructor是只有在创建对象的时候才执行,所以静态语句是比constructor先执行的.
class c1 extends c2 {}; 是先编译C2,这时候执行 c2 中的static(如果父类中的静态变量不先初始,那么在子类中就用不了,这也就是说父类的静态变量/语句先执行)然后编译C1, C1 的静态执行然后是C1 静态方法 public static void main()....如果在main()里面有 对象创建,这时候就是父类的constructor,然后是子类的constructor一个例子:
http://keshuwei.wordpress.com/2010/11/10/the-execute-order-between-static-and-constructor/