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

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

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

70220

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.总结 总的来说,按照如下大顺序调用: 父类静态代码 子类静态代码 父类非静态代码 父类构造函数 子类非静态代码 子类构造函数

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

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

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

46600

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

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

93420

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

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

3.4K10

关于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.5K20

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

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

1.3K20

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

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

2K10

HTML行元素和元素

行元素:整行排列,不能改变大小(宽度和高度),宽度默认文字宽度,当行元素排列过多时( 超过浏览器宽度时自动强制换行 )。 元素:一个元素独占一行,宽度默认浏览器宽度,可以改变宽度和高度。...行内元素:属于行元素,但又有元素属性,横行排列但又可以设置宽度和高度。...换行 引用进行定义 定义计算机代码文本 定义一个定义项目 定义为强调内容 斜体文本效果 向网页中嵌入一幅图像 输入框 ...定义无序列表 标签定义段落 定义预格式化文本 标签定义 HTML 表格 标签表格主体(正文) 表格中标准单元格 定义表格页脚...原文地址《HTML行元素和元素》

3.2K20

HTML加载顺序

> 它有如下几种资源: 3个外部js文件,1个inline js代码 1个外部css文件, 1个inline css代码 1个image文件,及1个js请求image 总共是6个http request...基于相关调研, 我理解为, 对于一个URI请求, 浏览器会按照下面的请求和执行顺序进行: 一个线程对DOM进行下载(也就是html, 而不去管html外部资源) 另外一个线程会开始分析已经下载...然后我们看执行顺序(js执行, css应用等): 只要浏览器"看到了"了js代码,它就会执行 浏览器是从下到下,一行一行地执行 如果js代码位于一个函数或者对象中,则只有当函数或者对象被调用时才会执行...而所谓direct code(不处于函数或者对象中代码),则会从上到下顺序执行 当css文件下载完成时, 相应样式也会应用到DOM上 onload或者jquery$(document).ready...: 首先下载html 从上到下依次下载外部文件(js,css,img) 各个资源下载顺序是并行 你可能会奇怪如果js可以并行下载,那么可能位于DOM下面的代码会先执行, 首先可以肯定是 即使下面的

1.8K30

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

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

1.2K50

有趣css - 列表加载动效

图片 因为接口问题只能显示静态图片 核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。...html部分 css 部分代码 .list-box70{ width: 200px; height: 76px; position: relative; background-color...2、利用 flex 布局,分别写出列表每个小矩形,并且设置相关样式颜色等。 3、给列表每个小矩形设置 animation 动画,并且设置相关参数,每个动画时长递增 0.2s 。...4、设置动画关键帧,定义变化 opacity 透明属性,让列表矩形由浅到深循环变化,这样就形成了视觉上列表内容在加载效果。...完整代码如下 html 页面 列表加载动效 css部分 /** style.css **/ .app{ width: 100%; height: 100vh; background-color

7710

Java代码

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

88520

代码总结

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

73040

Java中静态代码和构造代码

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

1.1K10
领券