class A{
public A(){
System.out.println("构造方法 A");
}
{System.out.println("A");}
static{
System.out.println("static A");
}
}
class C{
static{
System.out.println("C");
}
}
public class ClassB extends A {
public ClassB(){
System.out.println("构造方法 B");
}
{System.out.println("B");}
static{
System.out.println("static B");
}
public static void main(String [] args){
//ClassB cb=null;
new ClassB();
}
/*输出
static A
static B
A
构造方法 A
B
构造方法 B
* */
}
public class ExecuteOrder {
// 静态变量
static int a = 0;
// 非静态代码块 构造代码块 优于构造方法
{
System.out.println("ExecuteOrder.scope is running");
a = 10;
}
// 静态代码块
static {
System.out.println("ExecuteOrder.static scope is running");
a = 20;
}
// 构造函数
public ExecuteOrder() {
System.out.println("ExecuteOrder.Constructor is running");
}
public static void main(String arg[]) {
System.out.println(ExecuteOrder.a);
System.out.println(ExecuteOrder.a);
ExecuteOrder b1 = new ExecuteOrder();
ExecuteOrder b2 = new ExecuteOrder();
System.out.println(b1.a);
System.out.println(b2.a);
System.out.println(ExecuteOrder.a);
}
/*输出
ExecuteOrder.static scope is running
20
20
ExecuteOrder.scope is running
ExecuteOrder.Constructor is running
ExecuteOrder.scope is running
ExecuteOrder.Constructor is running
10
10
10
*/
}
public class HelloTest {//启动类
static{
System.out.println("h");
}
public static void main(String[] args) {
new H();
System.out.println("ok");
}
}
class H{
static {
System.out.println("helloWorld");
//System.exit(0);
}
}
/*
输出
h
helloWorld
ok*/