public class Test {
int a;
int b;
static int a2;
static int b2;
// instance initialization block
{
b = 5;
a = b + 1;
System.out.printf("In instance initialization block\na=%d,b=%d\n", a, b);
}
// static initialization block
static {
b2 = 5;
a2 = b2 + 1;
System.out.printf("In static initialization block\na2=%d,b2=%d\n", a2, b2);
}
Test()
{
b = 10;
a = b + 1;
System.out.printf("In constructor Test()\na=%d,b=%d\n", a, b);
}
Test(int aa, int bb)
{
a = aa;
b = bb;
System.out.printf("In constructor Test(aa, bb)\na=%d,b=%d\n", a, b);
}
public static void main(String[] args) {
new Test();
new Test(1, 2);
}
}
//In static initialization block
//a2=6,b2=5
//In instance initialization block
//a=6,b=5
//In constructor Test()
//a=11,b=10
//In instance initialization block
//a=6,b=5
//In constructor Test(aa, bb)
//a=1,b=2
隐藏特性:Java的初始化代码块
最新推荐文章于 2023-08-01 08:30:00 发布