StaticTest.java
package com.staticTest;
/**
* 测试静态代码块执行顺序
* 1、static能修饰的类只有静态内部类
* 2、静态方法不能直接访问非静态成员(方法,成员变量)
* 3、静态代码块在类加载的时候,就直接加载,且只执行一次
* 4,执行顺序:父类静态代码块与静态成员-->
* 子类静态代码块与静态成员-->
* 父类代码块-->
* 父类构造方法-->
* 子类代码块-->
* 子类构造方法-->
*
* @author liu
*
*/
public class StaticTest {
static{
System.out.println("父类静态代码块");
}
public StaticTest(){
System.out.println("父类构造方法");
}
{
System.out.println("父类代码块");
}
public static void main(String[] args) {
new child();
}
}
class child extends StaticTest{
static{
System.out.println("子类静态代码块");
}
{
System.out.println("子类代码块");
}
public child(){
System.out.println("子类构造方法");
}
}
运行结果: