大括号{}的意义与静态代码块与构造函数的加载关系

来源:互联网 发布:php 搭建企业网站 编辑:程序博客网 时间:2024/05/25 05:36
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;


import javax.annotation.PostConstruct;


class T {
static {
System.out.println("1");
}


{
System.out.println("2");
}


T() {
System.out.println("父类构造");
}
public static void got(){
System.out.println("调用T类的方法,静态方法");
}
static {
System.out.println("3");
}
{
System.out.println("4");
}
}


public class Test extends T {

public Test() {
System.out.println("子类构造函数");
}
static {
System.out.println("5");
}
{
System.out.println("6");
}


public static void main(String[] args) {

/* Test t = new Test();

t.get();

System.out.println("=====================");
Test.got();
System.out.println("=====================");*/
Test.post();
}

public void get(){
System.out.println("调用Test类的方法");
}

public static void post(){
System.out.println("调用Test类的静态方法");
}
static {
System.out.println("7");
}
{
System.out.println("8");
}
}


new Test()时,输出    1      3                     5    7                         2     4                   父类的构造    6   8                  子类的构造

                              (父类静态代码块)  (子类静态代码块)    (父类初始代码块)                  (子类初始代码块)

调用Test类的内部get方法输出 1 3 5 7 2 4 父类的构造 6 8 子类的构造 调用Test类的方法

Test.got()时输出 1 3 5 7 调用T类的方法,静态方法
Test.post()时输出 1 3 5 7 调用Test类的静态方法

其实在类内部{}只是代表在调用构造函数之前在{}中初始化,static{}只在类加载时调用

new子类的对象时,先调用父类static{}里的东西,再调用子类里的static{},再调用父类{}({}为初始化代码块,在静态块后、构造方法前执行),再调用父类构造方法,再调用子类构造方法


调用子类或者父类的静态方法时,先调用父类的static{}再调用子类的static{}

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 饥荒精神值为0怎么办 抓不住温暖我能怎么办 父亲打母亲我该怎么办 父亲对母亲家暴怎么办 摊上家暴的父亲怎么办 家暴警察不处理怎么办 父亲把母亲打了怎么办 u盘的文件打不开怎么办 头撞墙起包了怎么办 儿童头撞墙起包怎么办 头撞墙了鼓包了怎么办 北京65岁老年证怎么办 怎么办65岁免费乘车卡 5个月小孩晚上哭怎么办 婴儿要含奶头睡怎么办 我把输入法删了怎么办 头发干枯毛躁怎么办用什么洗发水 落枕后脖子歪了怎么办 睡觉睡得脖子疼怎么办? 婴儿脖子睡歪了怎么办 怀孕8个月肚皮痒怎么办 怀孕大阴唇肿了怎么办 孕妇肚皮撑的疼怎么办 我大阴唇特别长怎么办 切完洋葱辣眼睛怎么办 下昆山车没刷卡怎么办 高德地图用不了怎么办 玩游戏老是闪退怎么办 苹果平板电脑闪退怎么办 钉钉忘记打卡了怎么办 钉钉手机号换了怎么办 玖富叮当贷逾期怎么办 玖富超能怎么办现金贷 包包的油边开裂怎么办 lv包包油边开裂怎么办 lv钱包油边开裂怎么办 德运奶粉没勺子怎么办 音响坏了没声音怎么办 6s蓝牙无法配对怎么办 魅族耳机进水了怎么办 苹果6耳机进水了怎么办