JAVA初始化顺序验证

来源:互联网 发布:去工业化知乎 编辑:程序博客网 时间:2024/04/30 07:05
class InitDemo 
{
public static void main(String[] args) 
{
//System.out.println(ABC.ID);
//new ABC("xiaowang");
new EFG("xiaoli",20);


/* 输出结果:
D:\EditPlusJava>java InitDemo
ABC静态代码块static{}numABC
EFG静态代码块static{}numEFG
ABC非静态代码块{}abc
ABC构造函数xiaoli
EFG非静态代码块{}efg
EFG构造函数xiaoli20


//测试静态语句块,和静态赋值语句是同等的权重,所以必须让静态赋值语句放到语句块的前面。
否则就会报下面的错误:
//D:\EditPlusJava>javac InitDemo.java
//InitDemo.java:32: 错误: 非法前向引用
//                System.out.println("ABC静态代码块static{}"+ID);


通过执行顺序可以看到:


先执行父类的静态语句,静态代码块;然后是子类的静态语句块静态代码块。 --》初始化2个类。


然后第二步,执行对象的初始化;首先执行父类的非静态赋值语句,和非静态代码块;然后执行父类的构造函数;然后执行子类的非静态赋值语句,非静态
代码块,然后再执行子类的构造函数。


//为什么构建子类对象一定要构建父类对象,是因为子类要继承父类对象的属性;这些属性,必须在生产对象之前初始化。调用构造函数之前默认会初始化;
所以子类继承过来后,就可以直接调用已经被初始化后的值。
*/
}
}


class ABC
{



String name="abc";


public static String ID="numABC";


static {
System.out.println("ABC静态代码块static{}"+ID);
}

ABC(String name){
this.name=name;
System.out.println("ABC构造函数"+name);
}


{
System.out.println("ABC非静态代码块{}"+name);
}

}




class EFG extends ABC
{
String name1="efg";
int age=20;


{
System.out.println("EFG非静态代码块{}"+name1);
}


public static String ID1="numEFG";
static {
System.out.println("EFG静态代码块static{}"+ID1);
}


EFG(String name1,int age){
super(name1);
this.age=age;
System.out.println("EFG构造函数"+name+age);
}
}
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 百度云种子含有非法离线内容怎么办 苹果手机上的迅雷怎么打不开怎么办 微信绑定银行卡收不到验证码怎么办 支付宝转账为什么没验证码怎么办 电视时间比手机慢三分钟怎么办 13岁现在有月经又流鼻血怎么办 酒店给客人把房间开错了怎么办 手机百度云下载的视频分解了怎么办 知道家人被绑架北派传销怎么办 接手前同事的客人无回复怎么办 喝了酒第二天一直吐怎么办 孩子看的鬼片不敢睡觉害怕怎么办 宝宝满月了脸还有点黄怎么办 我情人天天说没时间出去该怎么办 两个月宝宝下体三角区肿了怎么办 夏养的龙猫家里有味怎么办 不小心踩到仓鼠吐血了怎么办 不小心踩到仓鼠的头怎么办 母仓鼠生完孩子特别暴躁怎么办 被仓鼠咬出血怎么办要不要打针 被小仓鼠咬出血了该怎么办 仓鼠咬破手指流血了该怎么办 小仓鼠的手被棉花丝绑住了怎么办 荷兰猪如果不小心撞流血了怎么办 帮同事刷杯子但把杯子弄坏了怎么办 贵宾犬喜欢张开嘴巴跟人玩怎么办 鼻烟放了几天感觉跟受潮一样怎么办 两个月宝宝鼻屎堵住鼻子怎么办 肉包着智齿怎么办洗燥电影完整版 大腿内侧突然长黑痣越来越大怎么办 肚脐发炎、不脱落怎么办_妈网百科 老公出轨找个按摩的还不离婚怎么办 别人拿错钥匙装修好了房子怎么办 撞车后对方全责却不赔钱怎么办 我的世界国服客户端都是英文怎么办 下载的3d模型没有材质怎么办 写字时习惯把本子放歪该怎么办 被蚊子咬后留下硬疙瘩怎么办 吃冰镇西瓜导致呼吸不顺怎么办 吃冰镇西瓜嚓气导致呼吸不顺怎么办 在pr里面找不到做字幕的怎么办