ava程序执行的过程: Step1:将字节码加入内存; Step2:对字节码进行合法性检查; Step3:jvm会为每个字节码文件都生成一个对象(class); Step4:执行静态代码块,初始化静态成员等; Step5:执行入口函数main方法; 注意:实例块和静态块,可以对java对象进行初始化 ...
分类:
编程语言 时间:
2019-07-28 09:18:28
阅读次数:
91
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。 构造函数 关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的 ...
分类:
编程语言 时间:
2019-06-30 12:31:06
阅读次数:
117
static关键字通常应用在字段、方法、静态块,还有冷门一点的内容:静态内部类、静态导入 static字段: static字段也就是静态变量,是属于类的,被所有的对象所共享,只有当类初次加载的时候保存到内存中,在内存中只保存一份 实例变量是属于对象的,在创建对象的时候进行初始化,每个对象的实例变量是 ...
分类:
编程语言 时间:
2019-06-16 00:30:36
阅读次数:
162
主动使用和被动使用Demo 1、创建工程一个Gradle工程 下一步 下一步 点击完成 2、创建类 输出结果: 会发现MyChild1的类静态块没有执行。 总结:对于静态字段来说,只有直接定义了该字段的类才会被初始化。 修改后的类: 执行结果 因为使用到了MyChild的类,它会被初始化。当一个类在 ...
分类:
其他好文 时间:
2019-06-07 22:58:38
阅读次数:
133
结论:New = Class.forName("pacage.A").newInstance(); new是关键字,直接创建对象。Class.forName()是一个方法,要求JVM查找并加载指定的类,类装载到虚拟机上之后,静态方法和静态块中的处理被执行。这时候还没有创建对象。newInstance ...
分类:
编程语言 时间:
2019-06-07 10:39:13
阅读次数:
95
java 中 静态块的作用 (一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载 ...
分类:
编程语言 时间:
2019-04-03 12:13:15
阅读次数:
126
静态块:用static申明,JVM加载类时执行,仅执行一次 构造块:类中直接用{}定义,每一次创建对象时执行 输出结果: 执行顺序优先级:静态块>main()>构造块>构造方法 所以先执行静态块,再tudy_static a = new Study_static();该语句创建对象,则又会调用构造块 ...
分类:
编程语言 时间:
2019-03-20 17:09:43
阅读次数:
172
执行顺序: 父类 static 子类 static 父类普通代码块 父类 constructor 子类 普通代码块 子类 constructo ...
分类:
编程语言 时间:
2019-02-26 16:50:45
阅读次数:
159
单例模式 引子: Java类加载器加载内容的顺序: 1、从上往下(Java的变量需要先声明才能使用) 2、静态后动态(对象实例化)(静态块和static关键字修饰在实例化以前分配内存空间) 3、先属性后方法(成员变量不能定义在方法中,只能定义在class下) 1. 保证从系统启动到系统终止,全过程只 ...
分类:
其他好文 时间:
2019-02-13 13:04:48
阅读次数:
187
类被创建之后的成员的初始化顺序到底是怎么样的? 首先 不考虑继承 运行程序后输出结果为: 1 静态变量被赋初始值 a 02 进入静态块 a 03 成员变量被赋值 str 我被赋值了4 进到普通代码块5 进入构造器 为了验证静态成员的顺序由代码的前后顺序决定 加入第二个静态块 输出结果为: 1 进入第 ...
分类:
编程语言 时间:
2018-12-16 23:41:37
阅读次数:
353