摘要: 实例代码 运行结果 规律(类字段的初始化顺序) 1、执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。 2、执行类的构造函数。 类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。 以下代码为何无法通 阅读全文
posted @ 2018-10-21 09:28 L、、、 阅读(940) 评论(0) 推荐(0)
摘要: 实例代码 运行结果 由此可以看出,首先执行的是父类静态初始化模块,然后是子类静态初始化模块,然后再是由父类到子类依次执行普通、无参、有参的构造器。 阅读全文
posted @ 2018-10-21 09:03 L、、、 阅读(330) 评论(0) 推荐(0)
摘要: 实例代码 运行结果 类中静态的方法或者属性,本质上来讲并不是该类的成员,在java虚拟机装在类的时候,这些静态的东西已经有了对象,它只是在这个类中"寄居",不需要通过类的构造器(构造函数)类实现实例化;而非静态 的属性或者方法,在类的装载是并没有存在,需在执行了该类的构造函数后才可依赖该类的实例对象 阅读全文
posted @ 2018-10-21 08:54 L、、、 阅读(1669) 评论(0) 推荐(0)
摘要: 运行结果 输出结果表明i1和i2指向的是同一个对象,而i3和i4指向的是不同的对象。 下面看源码便知究竟,下面这段代码是Integer的valueOf方法的具体实现。 而其中IntegerCache类的实现为 从这2段代码可以看出,在通过valueOf方法创建Integer对象的时候,如果数值在[- 阅读全文
posted @ 2018-10-21 08:39 L、、、 阅读(377) 评论(0) 推荐(0)
摘要: 创建一个静态变量,每生成一个对象,使该变量加一 运行结果 阅读全文
posted @ 2018-10-21 08:26 L、、、 阅读(213) 评论(0) 推荐(0)