首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

静态代码、构造代码以及构造函数加载顺序

静态代码:用staitc声明,jvm加载类时执行,仅执行一次。 构造代码:类中直接用{}定义,每一次创建对象时执行。...加载时候,将静态成员变量(类变量),构造代码,静态代码以及静态方法加载到方法区静态部分,非静态方法以及构造方法加载到方法区非静态部分。...二、执行代码 类文件加载好以后,开始执行静态代码,然后在堆内存中开辟空间,分配内存地址。...作用分析 静态代码用于给类初始化,类加载时候就会被执行; 构造代码用于给对应对象初始化,只要创建对象就会被执行,而且执行顺序优先于构造函数; 构造函数用于给对应对象初始化,只要创建对象,就会选择相应构造函数进行初始化..."是在是在执行完静态代码以后然后才输出,这就证明静态代码是不需要创建对象就可以执行,只要加载完类文件就可以执行,而构造代码以及构造方法是在执行创建对象时候才进行初始化

72720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    static静态代码加载和执行

    静态代码,非静态代码,无参构造,有参构造,这些代码片段分别在什么时候加载执行?...static { System.out.println("son静态代码"); } { System.out.println("son非静态代码...son静态代码 father非静态代码 father构造方法 son非静态代码 son构造方法 创建son对象后 4.如果父类没有无参构造,只有有参构造 这种情况,子类需要在构造方法中显示调用父类有参构造...son对象前 father静态代码 son静态代码 father非静态代码 father带参构造方法 son非静态代码 son构造方法 创建son对象后 5.如果父类没有无参构造,也没有有参构造...6.总结 总的来说,按照如下大顺序调用: 父类静态代码 子类静态代码 父类非静态代码 父类构造函数 子类非静态代码 子类构造函数

    58120

    Java基础6:代码代码加载顺序

    本文主要介绍了三种代码特性和使用方法。...代码:用{}包围代码 java中代码按其位置划分为四种: 局部代码 位置:局部位置(方法内部) 作用:限定变量生命周期,尽早释放,节约内存 调用:调用其所在方法时执行 public class...//使用局部代码可以避免这样情况发生。...} } 静态代码 位置:类成员位置,用static修饰代码 作用:对类进行一些初始化 只加载一次,当new多个对象时,只有第一次会调用静态代码,因为,静态代码...C(); C c2 = new C(); //结果,静态代码只会调用一次,类所有对象共享该代码 //一般用于类全局信息初始化 //静态代码调用 //代码调用

    49000

    延时加载 JS 代码,提高网页加载速度

    如果网页中存在大量 javascript 代码会极大影响网页访问速度,下面就简单介绍一下如何延时加载 js 代码提高速度。...二.将js代码放到网页内容后面: 这个比较简单了,就不用说了,就是将 js 代码放在网页内容后面,一把是放在body最底部,这样也可以先加载内容再去执行 js 代码,也能够提高一定速度。...JS 广告代码延迟加载或是最后加载加快页面载入 JS 广告代码延迟加载或是最后加载加快页面载入,如果页面中有很多 JS 广告代码,或者其他 js/' target='_blank' class='u'...使用JS广告代码延迟加载或是最后加载方法以加快页面载入速度。...('my').src='include/php100.php'; ",3000);//延时3秒 第二,JS广告代码最后加载 在需要插入JS地方插入以下代码: 程序代码 <SPAN

    7.8K30

    Java中类静态代码、构造代码、构造方法、普通代码

    前言 Java中静态代码、构造代码、构造方法、普通代码执行顺序是一个比较常见笔试题,合理利用其执行顺序也能方便实现项目中某些功能需求 。...System.out.println("静态代码"); } } b.执行时机 静态代码在类加载时候执行,并且仅执行一次,如果一个类中有多个静态代码,将按照书写顺序执行。...c.静态代码作用 一般情况下,如果有些代码需要在项目启动时候就执行,这时候就需要静态代码。比如一个项目启动需要加载很多配置文件等资源,就可以都放入静态代码中。...普通代码 普通代码和构造代码区别是,构造代码是在类中定义,而普通代码是在方法体中定义。且普通代码执行顺序和书写顺序一致。...,父类构造代码执行完毕,接着执行父类构造方法;父类构造方法执行完毕之后,它接着去看子类有没有构造代码,如果有就执行子类构造代码

    3.5K10

    普通代码 静态代码 构造代码......傻傻分不清

    代码定义 在Java中,使用{ }括起来代码被称为代码代码分类 根据其位置和声明方式不同: ?...代码作用 认识了这么多代码,你是不是也和我一样在好奇它们适用场景都是什么那?...因此就有了局部代码 构造代码 作用在类定义Body中,作用是给类部分字段统一初始化: public class Apple { private String size; //构造代码...也就是说,构造代码中定义是不同对象共性初始化内容。所以理所当然,构造代码在构造函数之前执行。...同步代码 我们把有synchronized修饰符修饰语句,称为同步代码,主要用于解决多线程下安全问题 synchronized(Object o ){} 现在,你明白它们作用和使用场景了吧

    95320

    关于java中普通代码、构造代码与静态代码

    常用于对类初始化,每个静态代码只会执行一次(类在内存中加载时执行,类在内存中加载后类已经存在)由于JVM在加载类时会执行静态代码,所以静态代码先于主方法执行。...如果类中包含多个静态代码,那么将按照"先定义代码先执行,后定义代码后执行。 ps:1 静态代码不能存在于任何方法体内。...2 静态代码不能直接访问静态实例变量和实例方法,需要通过类实例对象来访问。 构造:直接在类中定义且没有加static关键字代码称为{}构造代码。...();//第二次类加载时静态代码不执行 //new A(); { System.out.println("这里是普通代码B"); } } static{ System.out.println...1"); } { System.out.println("这里是A中普通代码2"); } } 执行结果: 这里是静态代码 这里是普通代码A 这里是A中普静态代码1 这里是A中普通代码

    1.4K30

    Java中静态代码、构造代码、构造函数、普通代码

    位置:位于类内,与方法同层次 public class Test{ static{ //Code... } }  静态代码会随着类加载而执行,而且只执行一次,并且优先于各种代码以及构造函数...比如一个项目启动需要加载很多配置文件等资源,我们就可以都放入静态代码中。...构造代码->构造函数->普通代码 注意事项: 普通代码可以嵌入其余任何一个代码中,且前三代码内部代码都是顺序执行; main方法晚于静态代码执行,但是main内部方法和其余三个代码是顺序执行...子类静态方法->父类构造代码->父类构造函数->子类构造代码->子类构造函数 相关原理以及解释: 因为static修饰代码在类加载时候就进行执行,而类加载是先于对象创建,所以子类和父类静态方法要首先执行...又因为保护继承成立,我们无论是类加载,还是对象创建,都是父类先行,所以静态方法内部执行顺序是父类先于子类。即:父类静态方法->子类静态方法。

    1.6K20

    Java中静态代码、构造代码、构造函数、普通代码

    ("静态代码"); } }   ②、执行时机   静态代码在类被加载时候就运行了,而且只运行一次,并且优先于各种代码以及构造函数。...比如一个项目启动需要加载很多配置文件等资源,我们就可以都放入静态代码中。   ④、静态代码不能存在任何方法体中   这个应该很好理解,首先我们要明确静态代码是在类加载时候就要运行了。...我们分情况讨论:   对于普通方法,由于普通方法是通过加载类,然后new出实例化对象,通过对象才能运行这个方法,而静态代码只需要加载类之后就能运行了。   ...对于静态方法,在类加载时候,静态方法也已经加载了,但是我们必须要通过类名或者对象名才能访问,也就是说相比于静态代码,静态代码是主动运行,而静态方法是被动运行。   ...不管是哪种方法,我们需要明确静态代码存在在类加载时候就自动运行了,而放在不管是普通方法还是静态方法中,都是不能自动运行

    1.6K20

    Java——代码(普通、构造、静态

    代码在实际开发中很少见,只需要了解即可,实际开发中也不需要使用它。...代码编写中,使用{}声明程序就属于代码,而根据其出现位置,及声明关键字不同,分为四种:普通代码、构造、静态、同步代码(多线程中涉及) 1、普通代码 在方法中使用{}定义起来一段代码...,利用普通代码可以实现局部代码拆分(实际基本用不上)。...将普通代码中提取到类中使用,就形成了构造代码。...3、静态代码 如果代码中使用了static关键字定义,则该代码为静态代码: 在非主类中定义; 在主类中定义; 【举例】:非主类中定义静态 protected void onCreate

    2.2K10

    Vue.js延迟加载代码拆分

    顾名思义,延迟加载是一个懒惰地加载应用程序部分(过程。换句话说 - 只有在我们真正需要它们时加载它们。代码拆分只是将应用程序拆分为多个延迟加载代码一种处理方式。 ?...延迟加载允许我们拆分捆绑包并仅提供所需部分,这样用户就不会浪费时间下载和解析不会使用代码。...现在我们应该能够看到实际使用了多少下载代码。 ? 标记为红色所有内容都是当前路由上不需要东西,可以延迟加载。...现在是时候看看我们如何在我们自己Vue.js应用程序中使用延迟加载。 动态导入 我们可以使用webpack动态导入,轻松地加载我们应用程序某些部分。...在DOM中需要渲染组件之前,组件将不会加载。想要加载,只要v-if值更改为true即可。 总结 延迟加载,是使您Web应用程序更高效并减少js bundle大小最佳方法之一。

    7.8K10

    静态代码和非静态代码区别

    静态代码在第一次创建对象时候执行一次,之后再也不执行。 非静态代码每创建一次对象就执行一次。...("静态代码"); } { System.out.println("非静态代码"); } } public class TestStatic{ public...非静态代码 构造代码 ==========分隔符================ 非静态代码 构造代码 当调用一个类里面的静态方法时候,静态代码也会执行 例子 class...("测试静态代码会不会执行"); } static { System.out.println("静态代码"); } { System.out.println...Cat.f(); } } 执行结果 静态代码 测试静态代码会不会执行 注意程序唯一入口main方法也是静态方法 它同样也遵循静态方法规则,所以它由系统在创建对象之前就调用.

    1.2K50

    Java代码

    代码 如果成员变量想要初始化值不是一个硬编码常量值,而是需要通过复杂计算或读取文件、或读取运行环境信息等方式才能获取一些值,该怎么办呢?此时,可以考虑代码(或初始化)。...代码(或初始化)作用: 对Java类或对象进行初始化 代码(或初始化)分类: 一个类中代码若有修饰符,则只能被static修饰,称为静态代码(static block) 没有使用static...修饰,为非静态代码。...可以对类属性、类声明进行初始化操作。 代码执行优先于构造器,因而可以在代码中进行初始化操作,在构造器中调用。...若有多个代码,按声明顺序执行 不同点: 静态代码: 静态代码随着类加载加载,且只执行一次。 静态代码执行要先于非静态代码。 不可以对非静态属性初始化。

    90420

    代码总结

    一般来说代码是不能单独运行,它必须要有运行主体。在Java中代码主要分为四种: 一、普通代码 普通代码是我们用得最多也是最普遍,它就是在方法名后面用{}括起来代码段。...static,静态代码就是用static修饰用{}括起来代码段,它主要目的就是对静态属性进行初始化。...四、构造代码 在类中直接定义没有任何修饰符、前缀、后缀代码即为构造代码。...构造代码会在构造函数之前执行。 上面两个常用场景都充分利用构造代码特性,能够很好解决在实例化对象时构造函数比较难解决问题,利用构造代码不仅可以减少代码量,同时也是程序 可读性增强了。...静态代码,它是随着类加载而被执行,只要类被加载了就会执行,而且只会加载一次,主要用于给类进行初始化。 2.

    81740

    Java中静态代码和构造代码

    直接在类中定义且没有加static关键字代码称为{}构造代码。     构造代码在创建对象时被调用,每次创建对象都会被调用,并且构造代码执行次序优先于类构造函数。...静态代码:     在java中使用static关键字声明代码。静态用于初始化类,为类属性初始化。每个静态代码只会执行一次。...由于JVM在加载类时会执行静态代码,所以静态代码先于主方法执行。 注意: 静态代码不能存在于任何方法体内。 静态代码不能直接访问静态实例变量和实例方法,需要通过类实例对象来访问。...主方法内变量x=1 2,普通代码变量y=7 */ 构造代码 /*构造:直接在类中定义且没有加static关键字代码称为{}构造代码。...静态用于初始化类,为类属性初始化。 每个静态代码只会执行一次。 由于JVM在加载类时会执行静态代码,所以静态代码先于主方法执行。

    1.2K10
    领券