静态代码块和非静态代码块

来源:互联网 发布:散打知乎 编辑:程序博客网 时间:2024/06/06 01:07

package com.test.load;

public class ClassLoad {

static {    System.out.println("父类静态代码快");}{    System.out.println("父类非静态");}public   static  void printtest(){    System.out.println("父类静态方法");}public  ClassLoad(){    System.out.println("父类构造函数");}

}

package com.test.load;

public class ClassLoadTest extends ClassLoad {

static {    System.out.println("子类静态代码块");}{    System.out.println("子类非静态代码块");}public  static  void  printlntest(){    System.out.println("子类静态方法");}public  ClassLoadTest (){    System.out.println("子类构造方法");}public  static void main(String [] args){    new ClassLoadTest();}

}

运行结果:
父类静态代码快
子类静态代码块
父类非静态
父类构造函数
子类非静态代码块
子类构造方法

结论:静态代码块在项目启动时就已经初始化,而非静态代码块在类初始化的时候优先于构造方法先执行。静态方法只能用类的对象调用才能执行。

0 0
原创粉丝点击