黑马程序员技术交流社区
标题:
代码块,显示初始化,构造函数初始化的执行顺序
[打印本页]
作者:
踏云
时间:
2014-10-7 23:58
标题:
代码块,显示初始化,构造函数初始化的执行顺序
/*
代码块,显示初始化,构造函数初始化的执行顺序,
1.代码块和显示初始化的赋值都是在构造函数中执行的(java编译器完成的),而且优先于构造函数的赋值。
2.代码块和显示初始化的执行顺序是按照类定义中的前后顺序决定的。
3.编译时,java编译器将会把属性移动到最前面(但显示初始化是在构造函数中执行的)。
*/
class Demo7
{
public static void main(String[] args)
{
Test1 test1=new Test1();
Test2 test2=new Test2();
Test3 test3=new Test3();
Test4 test4=new Test4();
}
}
class Test1
{
int i=10000;
{
i=20000;
}
public test(){
i=30000;
}
//输出i为30000因为原则1
public void printi(System.out.println(i));
}
class Test2
{
public test(){
i=30000;
}
int i=10000;
{
i=20000;
}
//输出i为30000因为原则1
public void printi(System.out.println(i));
}
class Test3
{
int i=10000;
{
i=20000;
}
//输出i为20000因为原则2
public void printi(System.out.println(i));
}
class Test4
{
{
i=20000;
}
int i=10000;
//输出i为10000因为原则2
public void printi(System.out.println(i));
}
作者:
MR.Sun
时间:
2014-10-8 08:54
你是在传智上基础班么?这个题目。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2