读书人

java种中静态代码块、构造代码块、构造

发布时间: 2013-09-28 10:01:20 作者: rapoo

java类中静态代码块、构造代码块、构造函数快速理解

实例:

public class testStatic extends Fa{static{System.out.println("son:静态代码块");}{System.out.println("son:构造代码块");}public testStatic(){System.out.println("son:构造函数块");}public testStatic(String s){super(s);System.out.println("son:构造函数块"+s);}public static void main(String[] args) {testStatic te;System.out.println();Fa t=new testStatic("ai");}}class Fa{static{System.out.println("fa:静态代码块");}{System.out.println("fa:构造代码块");}public Fa(){System.out.println("fa:构造函数块");}public Fa(String s){System.out.println("fa:构造函数块"+s);}}

输出结果:

==============

fa:静态代码块
son:静态代码块


fa:构造代码块
fa:构造函数块ai
son:构造代码块
son:构造函数块ai

===============

得出结论:

1.执行顺序:静态代码>构造代码块>构造函数

2.静态代码块随类的声明而执行,而构造代码块和构造方法则在一个类实例化后执行,其中构造代码块又优先于构造方法执行

3.子类testStatic没有用super(s)时,默认调用fa的无参构造函数即输出:fa:构造函数块

读书人网 >编程

热点推荐