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

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

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

2.3K10

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

1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块。...; {   System.out.println("这里是普通代码块B"); } } 执行结果:这里是普通代码块A      这里是普通代码块B 2.静态代码块与构造代码块 在java...("这里是静态代码块"); } } 执行结果: 这里是静态代码块//优先于主函数 这里是普通代码块A 这里是普通代码块//类中的对象被创建时执行,每创建一次执行一次,在加一句new structure...1"); } { System.out.println("这里是A中的普通代码块2"); } } 执行结果: 这里是静态代码块 这里是普通代码块A 这里是A中的普静态代码块1 这里是A中的普通代码块...1 这里是A中的普通代码块2 这里是普通代码块B 优先级总结:静态代码块>Main()>构造代码块

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

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

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 一、格式区分及其性质 1.静态代码块  Java...2.构造代码块  Java使用{//Code...}的格式代表构造代码块,对比于静态代码块,其只少了static关键字的修饰。...4.普通代码块  Java使用{//Code...}的格式代表构造代码块,对比于构造代码块,其区别是普通代码块跑到方法内部了。位置:位于方法内部。...%d个执行\n", ++i); } } 控制输出: 静态代码块代码块第1个执行 执行main方法 构造代码块第2个执行 构造函数第3个执行 普通代码块第4个执行 执行顺序:  静态代码块->...构造代码块->构造函数->普通代码块 注意事项: 普通代码块可以嵌入其余任何一个代码块中,且前三代码块内部代码都是顺序执行的; main方法晚于静态代码块执行,但是main内部的方法和其余三个代码块是顺序执行的

    1.6K20

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

    在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序。...1、静态代码块   ①、格式   在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: public class CodeBlock { static{ System.out.println...⑤、静态代码块不能访问普通变量   这个理解思维同上,普通变量只能通过对象来调用,是不能放在静态代码块中的。...而一般的方法不存在这一特点; 4、普通代码块   普通代码块和构造代码块的区别是,构造代码块是在类中定义的,而普通代码块是在方法体中定义的。且普通代码块的执行顺序和书写顺序一致。...public void sayHello(){ { System.out.println("普通代码块"); } } 5、执行顺序 静态代码块>构造代码块>构造函数>普通代码块 public

    1.7K20

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

    前言 Java中静态代码块、构造代码块、构造方法、普通代码块的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。...静态代码块 a.定义格式 在Java类(静态代码块不能定义在方法中)中,通过static关键字和{}声明的代码块: public class Person { static{...d.静态代码块不能访问普通成员变量,只能访问静态成员变量 构造代码块 a.定义格式 在Java类中通过{}声明的代码块: public class Person { static{...普通代码块 普通代码块和构造代码块的区别是,构造代码块是在类中定义的,而普通代码块是在方法体中定义的。且普通代码块的执行顺序和书写顺序一致。...>构造代码块>构造方法>普通代码块 代码清单1-1 public class Person { static{ System.out.println("静态代码块");

    3.6K10

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

    代码块的定义 在Java中,使用{ }括起来的代码被称为代码块。 代码块的分类 根据其位置和声明方式不同: ?...图片来自网络 面试题: 构造块和静态块执行顺序 在上面分类描述中,我们已经给出了答案;接下来我们跑一跑测试代码,根据代码执行结果来验证这些答案 无继承关系 package com.milo.java7...我们发现静态代码块只执行了一次,这一点要特别注意; 有继承关系 我们新建Student类来继承People类,来看看有继承关系情况下,执行结果如何 package com.milo.java7.codeblock...代码块的作用 认识了这么多代码块,你是不是也和我一样在好奇它们的适用场景都是什么那?...普通代码块 public void show(){ { System.out.println("普通代码块运行!")

    95920

    【Java学习笔记之十七】Java中普通代码块,构造代码块,静态代码块区别及代码示例分析

    静态代码块>mian方法>构造代码块>构造方法。 其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。 1 普通代码块 1 //普通代码块:在方法或语句中出现的{}就称为普通代码块。...普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行” 2 public class CodeBlock01{ 3 public static void main...y="+y); 16 } 17 } 18 } 19 20 /* 21 运行结果: 22 1,普通代码块内的变量...x=3 23 主方法内的变量x=1 24 2,普通代码块内的变量y=7 25 */ 2 构造代码块 1 //构造块:直接在类中定义且没有加static关键字的代码块称为...27 第二构造块 28 构造方法 29 第一代码块 30 第二构造块 31 构造方法 32 第一代码块 33 第二构造块 34 构造方法 35 */ 3 静态代码块 1 //静态代码块:在java中使用

    94940

    Java代码块

    代码块(或初始化块)的作用: 对Java类或对象进行初始化 代码块(或初始化块)的分类: 一个类中代码块若有修饰符,则只能被static修饰,称为静态代码块(static block) 没有使用static...修饰的,为非静态代码块。...静态代码块 语法格式: 【修饰符】 class 类{ static{ 静态代码块 } } 非静态代码块 语法格式: 【修饰符】 class 类{ { 非静态代码块...代码块的执行优先于构造器,因而可以在代码块中进行初始化操作,在构造器中调用。 若有多个代码块,按声明顺序执行 不同点: 静态代码块: 静态代码块随着类的加载而加载,且只执行一次。...静态代码块的执行要先于非静态代码块。 不可以对非静态的属性初始化。即:不可以调用非静态的属性和方法。 非静态代码块: 每次创建对象的时候,都会执行一次。

    90720

    Java代码块

    代码块 在 Java 中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程) 构造代码块 格式: { } 注意...2执行"); } } 结果 静态代码块1执行 静态代码块2执行 main方法 Person静态代码块执行 Person构造方法执行 Person构造方法执行 代码块相关执行顺序 public class...~~~ 子类静态代码块执行~~~ main方法执行~~~ 父类构造代码块执行~~~ 父类构造方法执行~~~ 子类构造代码块执行~~~ 子类构造方法执行~~~ 面试题 执行顺序 public class...构造方法 构造代码块 构造方法 静态代码块 main方法 构造代码块 构造方法 总结 1、构造代码块用于给对象初始化,每次创建对象都会调用构造代码块,并且执行顺序在构造方法之前 2、静态代码块用于给类初始化...,当类被加载的时候就会调用静态代码块(只执行一次),执行顺序在main方法之前

    86810

    Java中静态代码块和构造代码块

    静态代码块:     在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。...构造块,在类中定义 构造方法执行 构造块,在类中定义 构造方法执行 */ 普通代码块 /*普通代码块:在方法或语句中出现的{}就称为普通代码块。...普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”*/ public class Test { public static void main(String[]...y=" + y); } } } /* 1,普通代码块内的变量x=3 主方法内的变量x=1 2,普通代码块内的变量y=7 */ 构造代码块 /*构造块:直接在类中定义且没有加...第二构造块 构造方法 第一代码块 第二构造块 构造方法 第一代码块 第二构造块 构造方法 */ 静态代码块 /*静态代码块:在java中使用static关键字声明的代码块。

    1.2K10

    Java-----代码块

    什么是代码块 在Java中, 使用{ }括起来的代码被称为代码块,可分为局部代码块、构造代码块、 静态代码块。...局部代码块 位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利用率 局部代码块在方法内部进行定义,在该代码块内部定义的变量作用范围也仅限于代码块内部,在代码块外部是无法访问代码块内部定义的变量的...,第二个输出语句会报错,因为它在代码块外部无法访问代码块内部的变量,自然无法输出a的值。...构造代码块 位置:类中方法外定义 特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行 作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性 demo:...static修饰,我们知道static修饰的变量会随着类的加载而加载,由于类文件只加载一次,所以static修饰的变量也只会加载一次,这个规则在static修饰代码块时依然适用,所以静态代码块会随着类文件的加载而加载

    33030

    (转) Java 静态代码块和非静态代码块

    参考:http://uule.iteye.com/blog/1558891 Java中的静态代码块是在虚拟机加载类的时候,就执行的,而且只执行一次。...如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。 非静态代码块是在类new一个实例的时候执行,而且是每次new对象实例都会执行。...代码的执行顺序 主调类的静态代码块 对象父类的静态代码块 对象的静态代码块 对象父类的非静态代码块 对象父类的构造函数 对象的非静态代码块 对象的构造函数 示例代码 public class StaticBlockTest1...{ //主调类的非静态代码块 { System.out.println("StaticBlockTest1 not static block"); }...Parent static block //父类的静态代码块 Children static block //子类的静态代码块 Parent not static

    1.1K10

    Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

    初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 3.其次,...初始化父类的普通成员变量和代码块,在执行父类的构造方法; 4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法; 类的加载顺序: 父类静态成员变量、静态块>子类静态成员变量、 静态块>...父类普通成员变量、非静态块>父类构造函数>子类 普通成员变量、非静态块>子类构造函数 静态代码块:随着类的加载而执行,而且只执行一次 非静态代码块:每创建一个对象,就执行一次非静态代码块 关于各个成员简介...: 小练习: 下面代码输出结果是 class C { C() { System.out.print("C"); } } class A { C c = new

    50430

    java构造代码块,构造函数和普通函数的区别和调用时间

    在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间。 构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行。...构造函数:运行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。...普通函数:不能自动调用,需要对象来调用,例如a.add(); 如果只看代码运行先后顺序的话:构造代码块>构造函数>普通函数 下面给一个程序 1 public class Test1 { 2 3...23 public void normal(){ 24 System.out.println("我是普通函数"); 25 } 26 //构造代码块2: 27...,不管构造代码块是在构造函数之后还是在构造函数之前,都是先运行构造代码块 然后在运行构造函数。

    1.5K20

    Java 静态代码块,构造代码块,构造函数执行顺序

    具体说,静态代码块是由类调用的。...类调用时,先执行静态代码块,然后才执行主函数的,总的来说,静态代码块是和类一起的,优先级最高,类加载的同时,静态代码块同时也执行,但只执行一次,所以作用一般是用来加载一些配置代码,或者加载某些文件配置。...构造代码块 构造代码块的作用同样是给对象进行初始化。对象一建立就运行构造代码块了,而且优先于构造函数执行。...这里要强调一下,有对象建立,才会运行构造代码块,类不能调用构造代码块的,而且构造代码块与构造函数的执行顺序是前者先于后者执行。...也就是说,构造代码块中定义的是不同对象共性的初始化内容。 运行结果: 可以看出来,静态代码块只执行一次,而每次创建对象都会调用共同的构造代码块,而构造函数也只在创建对象时执行该对象的构造函数。

    79310

    java构造方法,构造代码块,静态代码块的执行顺序

    构造方法,构造代码块,静态代码块的执行顺序静态代码块:用static声明,jvm加载类时执行,仅执行一次类中直接用{}定义,每次创建对象时执行 同级别的变量(static和普通变量)的执行顺序由代码执行顺序决定...;}对象一旦创建就会调用与之相对应的构造方法不创建对象就不会调用构造方法构造函数的作用是给对象初始化对象创建一次,构造函数只调用一次,而普通方法可以被调用很多次构造代码块 代码解读复制代码{ System.out.println...("构造代码块。。。")....静态代码块 代码解读复制代码static { System.out.println("静态代码块。。。")...;}由jvm加载类时执行,而且只执行一次.静态代码块是给类进行初始化,构造代码块是给对象进行初始化静态代码块中的变量属于局部变量

    4400

    Java代码块执行顺序初探

    2、静态块、构造方法 静态代码块:在java中使用static关键字声明的代码块。...小结 无继承的的初始化顺序 静态成员变量(静态代码块)→普通成员变量→构造器 有继承的初始化顺序 父类静态成员变量、静态代码块→子类静态成员变量、静态代码块→父类普通成员变量、普通代码块→父类构造器→子类普通成员变量...、普通代码块→子类构造器。...普通方法的声明(按出现顺序执行) 然后子类构造方法 参考资料 深入了解Java程序执行顺序 Java中普通代码块,构造代码块,静态代码块区别及代码示例 Java:构造器,构造代码块,静态代码块的执行顺序...Java 继承 在继承中的问题,关于静态代码块,子类和父类的静态代码块的执行情况 JAVA静态方法是否可以被继承?

    2.7K10

    Java static(三) – 静态代码块

    静态代码块 static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内 JVM加载类时会执行这些静态代码块,如果static代码块有多个...,JVM将按照它们在类中出现的先后顺序依次执行它们 每个静态代码块只会被执行一次 实例说明 // 父类 public class ParentStatic { private static...String pstr = "父类静态变量"; static { System.out.println("执行父类静态代码块:" + pstr); }...{ private static String cstr = "子类静态变量"; static { System.out.println("执行子类静态代码块...,便执行父类的静态代码块(父类有父类还会往上找父类静态) 父类ParentStatic加载完成,继续加载子类ChildStatic,发现子类有静态代码块,执行子类静态代码块 类ChildStatic加载完成

    29230
    领券