java中代码执行顺序(静态代码块、构造函数)

来源:互联网 发布:ppt柱状图显示数据 编辑:程序博客网 时间:2024/04/29 15:32
public class A {
static int a=0;
int b=0;
A(){
System.out.println("A construct func is running");
this.b=4;
System.out.println(this.b);
}
{
System.out.println("a common block is running");
this.b=3;
System.out.println(this.b);
}
static{
System.out.println("A static block is running");
a=2;
System.out.println(a);
}
public static void staticfunc(){
System.out.println("A static func is running");
}
void print(){
System.out.println(this.b);
}
public static void main(String[] args) {
System.out.println("main is running");
System.out.println(A.a);
A a = new A();
a.print();
}
}

运行结果:
A static block is running
2
main is running
2
a common block is running
3
A construct func is running
4
4
执行顺序:
静态变量初始化--静态代码块--main方法--对象实例化过程:(成员变量初始化--非静态代码块---构造函数)


父类子类执行顺序:
public class B extends A {
static int a=1;
int b=1;
{
System.out.println("b common block is running");
this.b=12;
System.out.println(this.b);
}
static{
System.out.println("B static block is running");
a=13;
System.out.println(a);
}
B(){
System.out.println("B construct func is running");
this.b=10;
System.out.println(this.b);
}
public static void main(String[] args) {
      System.out.println("B main is running");
B b = new B();
 
}
 
}

执行结果:
A static block is running
2
B static block is running
13
B main is running
a common block is running
3
A construct func is running
4
b common block is running
12
B construct func is running
10
执行顺序:父类静态变量初始化--父类静态代码块--子类静态变量初始化--子类静态代码块--main函数--子类实例化(父类成员变量初始化--父类非静态代码块--父类构造函数---子类成员变量初始化--子类非静态代码块--子类构造函数)


总结:
1、方法、块对应静态和普通两个级别,如果不产生实例,就只执行静态部分,所有关联类中的静态部分总先于非静态(实例化)部分执行。
2、静态部分:静态变量初始化--静态代码块--main方法。
3、非静态部分(对象实例化过程):成员变量初始化--非静态代码块---构造函数
4、父类先于子类。静态部分:父类静态部分--子类静态部分;非静态部分:父类非静态部分--子类非静态部分。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 香奈儿邂逅清新淡香水不喷怎么办 脚面被压了肿起来了怎么办 每天加班很累反而失眠严重怎么办 减肥药吃了口臭嘴巴苦怎么办 上火引起的牙疼怎么办吃什么药 舌苔厚口气重怎么办应该吃什么药 宝宝老是额头热四肢不热怎么办 考老师考砸了心理崩溃了怎么办 苹果手机一会白屏一会黑屏怎么办 360云盘的东西删不了怎么办 手机邮箱打开的文件疑似病毒怎么办 电脑qq发送的文件失效了怎么办 小米4c温控文件打开是乱码怎么办 超星尔雅用学号登录密码忘了怎么办 全脸做激光去黄褐斑后脸发红怎么办 上传到微云中的视频下载不了怎么办 微云保存的小电影下载不了怎么办 苹果手机下载有云朵下载不了怎么办 手机下载登录忘了密码了怎么办 软软件被手机加密忘了密码怎么办 苹果手机想下载东西忘了密码怎么办 已经不念书几年了突然想上学怎么办 江湖风云录把王老爷子杀了怎么办 练扫踢胫骨旁边的肌肉受伤了怎么办 四个月宝宝没抱住摔了头部怎么办 老公老是跟年轻的小姑娘聊天怎么办 老婆出轨老公想离婚又舍不得怎么办 孕妇打完无痛分娩针就想睡觉怎么办 熟食店开空调菜品吹的很干怎么办 不锈钢锅在液化气烧了发黄怎么办 在小镇门面卤菜店不好卖怎么办? 被辣椒辣到嘴唇了该怎么办 沁园净水机不制水指示灯不亮怎么办 太辣了辣得胃疼怎么办 出现连接问题或mmi码无效怎么办 存折丢了怎么办卡号也不记得了 车内皮子被烂苹果腐蚀有印怎么办 锅被腐蚀后变黑色应该怎么办 后厨炉灶里的炉芯进水了怎么办 小儿九个月老是流黄鼻子该怎么办 肉炖的老了不烂怎么办