一.静态代码块
①特点:随着类的加载而执行,且只执行一次,不管创建了多少次对象实例,这个类中的静态代码块只会在第一次创建类实例或者直接使用类名调用静态方法时执行一次,且若第一次是使用类名调用静态方法,则会先执行静态代码块后才会执行相应方法。(这也说明创建类实例或者使用类名调用静态方法时,类都会被加载进内存)。如果是StaticCode s=null;这样的声明语句,类是不会被加载入内存中的。
②功能:用于给类初始化(不是对象)
二.静态方法:①若只是创建含有静态方法的类的对象而没有调用静态方法,则静态方法也不会执行;②对于主类中的main方法是在执行完主类中的静态代码块之后才开始执行的;
二.构造代码块
①形式:
{ System.out.println("我是构造代码块"); }
②功能:用于给对象初始化,即每一次新建一个对象时都会执行一次,且执行顺序在构造函数之前。