Java类的成员函数调用顺序

时间:2023-11-24 10:09:50
 class A
{
public A()
{
System.out.println("----------A 构造-------------");
}
static void sb()
{
System.out.println("----------A.sb() 静态块-------------");
}
{
System.out.println("----------A 语句块-------------");
}
} class B extends A
{
public B()
{
System.out.println("----------B 构造-------------");
}
static void sb()
{
System.out.println("----------B.sb() 静态块-------------");
}
{
System.out.println("----------B 语句块-------------");
}
} public class initSequence
{
public static void main(String[] args)
{
System.out.println("First time new: ");
B b=new B();
System.out.println("Second time new: ");
B b1=new B();
System.out.println("Call the static functions:");
A.sb();
b.sb();
}
}

输出:

First time new:
----------A 语句块-------------
----------A 构造-------------
----------B 语句块-------------
----------B 构造-------------
Second time new:
----------A 语句块-------------
----------A 构造-------------
----------B 语句块-------------
----------B 构造-------------
Call the static functions:
----------A.sb() 静态块-------------
----------B.sb() 静态块-------------