class FatherStaticTest
{
static//靜態代碼塊
{
System.out.println("執行父類的靜態代碼塊。");
}
FatherStaticTest()//父類不帶參數的構造方法
{
System.out.println("執行父類的不帶參數的構造方法。");
}
FatherStaticTest(int num)//父類帶參數的構造方法
{
System.out.println("執行父類的帶參數的構造方法。");
}
//構造代碼塊
{
System.out.println("執行父類的構造代碼塊。");
}
}
class SonStaticTest extends FatherStaticTest
{
static
{
System.out.println("執行子類的靜態代碼塊。");
}
SonStaticTest()
{
System.out.println("執行子類的不帶參數的構造方法。");
}
SonStaticTest(int num)
{
System.out.println("執行子類的帶參數的構造方法。");
}
{
System.out.println("執行子類的構造代碼塊。");
}
}
class StaticTest
{
public static void main(String[] args)
{
new SonStaticTest();
}
}
執行子類的靜態代碼塊。
執行父類的構造代碼塊。
執行父類的不帶參數的構造方法。
執行子類的構造代碼塊。
執行子類的不帶參數的構造方法。
class FatherStaticTest
{
static
{
System.out.println("執行父類的靜態代碼塊。");
}
FatherStaticTest()
{
System.out.println("執行父類的不帶參數的構造方法。");
}
FatherStaticTest(int num)
{
System.out.println("執行父類的帶參數的構造方法。");
}
FatherStaticTest(String str)
{
System.out.println("執行父類的帶參數的構造方法。");
}
{
int i = 1;
int j = 2;
int sum = (i+j);
System.out.println("執行父類的構造代碼塊。"+sum);
}
{
int i = 1;
int j = 2;
int sum = (i+j);
System.out.println("執行父類的構造代碼塊。"+sum);
}
{
int m = 3;
int n = 4;
int sum = (m+n);
System.out.println("執行父類的構造代碼塊。"+sum);
}
}
class SonStaticTest extends FatherStaticTest
{
static
{
System.out.println("執行子類的靜態代碼塊。");
}
SonStaticTest()
{
System.out.println("執行子類的不帶參數的構造方法。");
}
SonStaticTest(int num)
{
super(7);
System.out.println("執行子類的帶參數的構造方法。");
}
SonStaticTest(String str)
{
super(7);
System.out.println("執行子類的帶參數的構造方法。");
}
{
int i = 1;
int j = 2;
int sum = (i+j);
System.out.println("執行子類的構造代碼塊。"+sum);
}
{
int i = 1;
int j = 2;
int sum = (i+j);
System.out.println("執行子類的構造代碼塊。"+sum);
}
{
int m = 3;
int n = 4;
int sum = (m+n);
System.out.println("執行子類的構造代碼塊。"+sum);
}
}
class StaticTest
{
public static void main(String[] args)
{
new SonStaticTest("a");
}
}
執行子類的靜態代碼塊。
執行父類的構造代碼塊。3
執行父類的構造代碼塊。3
執行父類的構造代碼塊。7
執行父類的帶參數的構造方法。
執行子類的構造代碼塊。3
執行子類的構造代碼塊。3
執行子類的構造代碼塊。7
執行子類的帶參數的構造方法。