class Student{ static{ System.out.println("我是静态代码块"); } { System.out.println("我是构造代码块"); } void print(){ System.out.println("我是普通方法"); } private Strin ...
分类:
其他好文 时间:
2017-10-16 16:42:34
阅读次数:
98
没有父类的情况 1,静态代码块-->静态成员变量-->成员变量(实例属性)-->代码块-->构造函数 2, 静态代码块 和 静态成员变量 只会初始化一次 有父类的情况 1,父类非Object 静态成员变量 -- > 静态代码块 代码块-->成员变量(实例属性)-->构造函数 2, 父类是Object ...
分类:
编程语言 时间:
2017-10-16 13:56:14
阅读次数:
195
二、书写测试方法TestMyDataSource 自定义连接池一代码并不完善,我们调用了工具类JDBCUtils.Release方法释放了除conn外的对象。又调用了md.backConnection方法归还conn。 在自定义连接池二的代码中我们将增强close方法。调用工具类JDBCUtils. ...
分类:
数据库 时间:
2017-10-07 23:31:01
阅读次数:
202
java做题笔记 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法; 4.最后,初始化子类的普通成 ...
分类:
编程语言 时间:
2017-09-27 16:47:12
阅读次数:
181
总结: 1、类加载时,执行静态代码块和初始化静态变量。执行顺序跟代码顺序一致。 2、类实例化时,初始化变量、执行代码块、执行构造。其中初始化变量和代码块的顺序跟代码顺序一致。执行构造是在最后。 3、实例化子类时,会先调用父类的构造方法。调用构造方法之前,会先执行该类的代码块。 4、类只会加载一次。 ...
分类:
其他好文 时间:
2017-09-27 11:43:36
阅读次数:
246
一、阿里巴巴笔试题: 二、加载过程分析: 执行main时,先加载所在类,声明静态变量,并初始化静态变量执行静态代码块(按顺序执行) 初始化到t1时,暂停类加载,先实例化,此时k=0,而i,n都未初始化,系统默认值为0初始化j时,k自增为1,i,n为0,输出“1:j i=0 n=0”,n,i自增为1执 ...
分类:
编程语言 时间:
2017-09-27 10:16:45
阅读次数:
154
class superclass{ static { System.out.println("superclass init"); } public static int value = 123;}class subclass extends superclass{ static { System. ...
分类:
其他好文 时间:
2017-09-26 00:05:55
阅读次数:
141
相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一。接下来通过实例详细的分析一下: parent静态代码块:b=11Child静态代码块:y=11Parent代码块:a=10Parent代码块:b=12Parent无参构造函数:a=1 ...
分类:
编程语言 时间:
2017-09-24 20:19:30
阅读次数:
111
这里总结一下,java创建对象的过程;会涉及到1、子类的静态属性,静态代码块,构造方法2、父类的静态属性,静态代码块,构造方法即分享一下,加载静态属性,静态代码块,构造方法的先后顺序先加载父类的静态属性-->父类静态代码块-->子类的静态属性-->子类的静态方法-..
分类:
编程语言 时间:
2017-09-23 18:50:40
阅读次数:
158
子类A继承父类B,A a=new A(); 正确的执行顺序是:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数 也就是说非静态初始化块的执行顺序要在构造函数之前。 执行完之后可以看到顺序如下: ...
分类:
编程语言 时间:
2017-09-17 00:31:17
阅读次数:
197