网站首页 > 文章中心 > 其它

java代码块加载顺序_java代码怎么运行

作者:小编 更新时间:2023-10-20 07:31:49 浏览量:11人看过

java几种代码块的执行顺序实例

顺序执行,就是正常情况下

选择执行(分支),就是用if else...可以使用多次,还有个switch? case

循环执行,常用的用for循环,while循环,do while循环

就我理解题意好像就这三种

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什么作用呢

先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器.所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器.

再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的.

java代码块加载顺序_java代码怎么运行-图1

Java的静态块和初始化块分别何时执行?有什么区别?

静态初始化块:当类第一次加载时执行.

非静态初始化块:非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被执行.

区别如下:

①.、执行次数不同

静态块只执行一次,初始化块可以执行多次.

静态初始化块仅能初始化类变量,即static修饰的数据成员.

java代码块加载顺序_java代码怎么运行-图2

非静态初始化块可以初始化类的实例变量.

扩展资料:

使用Java静态代码块注意事项:

①.、它是随着类的加载而执行,只执行一次,并优先于主函数.具体说,静态代码块是由类调用的.类调用时,先执行静态代码块,然后才执行主函数的.

java静态代码块 类加载顺序问题.

原因就是一句话:先有了父亲,才会有儿子!

程序运行时,加载AB两类,因为A是B子类,所以先加载B类,Load B,再加在A类 LoadA,调用A a = new A()代码时,会先调用其父类B的构造方法 Create B 再调用A的构造方法 Create A

java 类加载先后顺序

①父类静态代码块;

举例:

public class ExA {

static {

java代码块加载顺序_java代码怎么运行-图3

System.out.println("父类静态代码块.");

}

public ExA() {

System.out.println("父类构造函数.");

{

System.out.println("父类非静态代码块.");

public static void main(String[] args) {

new ExB();

class ExB extends ExA {

System.out.println("子类静态代码块.");

System.out.println("子类非静态代码块.");

public ExB() {

System.out.println("子类构造函数.");

执行结果:父类静态代码块.子类静态代码块.父类非静态代码块.父类构造函数.子类非静态代码块.子类构造函数.

以上就是土嘎嘎小编为大家整理的java代码块加载顺序相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章