博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
综合: Java 对象初始化过程
阅读量:6258 次
发布时间:2019-06-22

本文共 1069 字,大约阅读时间需要 3 分钟。

class Fu{    Fu()    {        show();    }    void show()    {        System.out.println("xixi");    }}class Zi extends Fu{    int num = 9;    // 构造代码块    {        System.out.println("constructor code..." + num);        num = 10;    }    // 构造函数    Zi()    {        super();        // 显示初始化        // 构造代码块初始化        System.out.println("zi constructor..." + num);    }    void show()    {        System.out.println("show..." + num);    }}class Test{    public static void main(String[] args)    {        new Zi();    }}// 输出结果:// show...0// constructor code...9// zi constructor...10

流程如下图所示:

1222878-20170828205439343-1577635805.png

// 示例二:class A {    static {        System.out.print("1");    }    public A() {        System.out.print("2");    }}class B extends A{    static {        System.out.print("a");    }    public B() {        System.out.print("b");    }}public class Hello {    public static void main(String[] args) {        A ab = new B();        ab = new B();    }}// 执行结果: 1a2b2b// 创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。

参考资料

转载于:https://www.cnblogs.com/linkworld/p/7445704.html

你可能感兴趣的文章
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
PCIE_DMA:xapp1052学习笔记
查看>>
python ----字符串基础练习题30道
查看>>
uva-10879-因数分解
查看>>
python 调用aiohttp
查看>>
跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
查看>>
学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2
查看>>
升级fedora 18到fedora 19
查看>>
11月20日学习内容整理:jquery插件
查看>>
SVN与TortoiseSVN实战:补丁详解
查看>>
获取页面中所有dropdownlist类型控件
查看>>
读《淘宝数据魔方技术架构解析》有感
查看>>
[转载]如何破解Excel VBA密码
查看>>
【BZOJ】2563: 阿狸和桃子的游戏
查看>>
redis 中文字符显示
查看>>
顺序图【6】--☆☆
查看>>
Docker Swarm 让你事半功倍
查看>>
javaScript事件(四)event的公共成员(属性和方法)
查看>>
Oracle SID爆破工具SidGuess
查看>>
批处理常用命令总结2
查看>>