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

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

前言 Java中静态代码、构造代码、构造方法、普通代码的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。...静态代码 a.定义格式 在Java类(静态代码不能定义在方法中)中,通过static关键字和{}声明的代码: public class Person { static{...d.静态代码不能访问普通成员变量,只能访问静态成员变量 构造代码 a.定义格式 在Java类中通过{}声明的代码: public class Person { static{...,父类的构造代码执行完毕,接着执行父类的构造方法;父类的构造方法执行完毕之后,它接着去看子类有没有构造代码,如果有就执行子类的构造代码。...子类的构造代码执行完毕再去执行子类的构造方法。   总之一句话,静态代码内容先执行,接着执行父类构造代码和构造方法,然后执行子类构造代码和构造方法

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

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

    代码编写中,使用{}声明的程序就属于代码,而根据其出现的位置,及声明关键字的不同,分为四种:普通代码、构造、静态、同步代码(多线程中涉及) 1、普通代码方法中使用{}定义起来的一段代码...System.out.println("构造"); } public Person() { System.out.println("构造方法");...由以上程序运行可知,构造优先于构造方法执行,每次实例化对象时构造快都会被重复调用(实际基本用不上)。..."hello"; private static String info =null; public Person() { System.out.println("构造方法...以上可以发现,静态优于主方法先执行。 4、总结 代码对于现阶段开发意义不大,了解即可。

    2.2K10

    java中的构造方法与代码

    一、构造方法 1.1、java中的构造方法跟普通方法有很大的区别: 构造方法方法名跟类名相同 构造方法没有返回值类型,连void也没有,也不能用return返回值 每次创建一个对象,都会调用构造方法,...如果没有写构造方法,系统会默认加上一个空参的构造,如果已经写了构造方法,无论有无参数,系统都不会再加上构造方法 构造方法主要用于给对象初始化值 1.2、构造方法的特点: 构造方法方法名与类名相同 构造方法没有返回值类型...:显示的写出构造方法时,系统不会提供默认的无参构造方法 隐式地构造方法:系统默认提供的无参构造方法 二、代码 Java中用"{}"包起来的就叫做代码,根据位置与声明的不同,可以分为以下几种: 局部代码...,局部位置,用于限定变量的生命周期 构造代码,位于类中成员位置,用"{}"包起来,每次调用构造函数前,都会先执行一次构造代码,可以把多个构造函数中的共同代码放一起,给对象进行初始化 静态代码,在类中的成员位置...,用{}括起来的代码,只不过它用static修饰了 作用一般是对类进行初始化 优先级:静态成员变量或静态代码> main方法> 非静态成员变量或非静态代码 > 构造方法

    77110

    Java代码

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

    90420

    Java代码

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

    86210

    java_自由(静态和非静态

    java中的自由分为两种: 静态和非静态 静态: 1 public class Test { 2 static int x = 10; 3 //静态:静态的执行时机是在class...文件装载的时候;静态只会执行一次 4 //多个静态的时候,按出现顺序执行 5 static{ 6 x+=5; 7 } 8 } 非静态: 1 public class...Test { 2 //非静态:每次初始化一个对象,都会导致一次非静态的执行;在构造函数执行之前执行 3 //继承关系:父类的非静态->父类的构造函数->自己的自由->自己的构造函数...静态的执行时机是在class文件装载的时候;静态只会执行一次 5 //多个静态的时候,按出现顺序执行 6 static{ 7 x+=5; 8 }...System.out.println("before"); 24 } 25 } 控制台输出: before 构造函数 5 更多信息:java自由

    1.1K20

    JavaNote - 语句方法

    1 语句 语句是用花括号括起来的任意数量的 简单Java语句,确定了局部变量的作用域,可以被嵌套到另一个里,但是不能在两个互相嵌套的内声明同名变量,当然语句可以使用外部变量,但反过来外部不能使用语句定义的变量...,因为语句内部声明的变量只作用于语句本身。...返回值类型 方法名(形式参数列表){ Java语句:...... } 简单解释一下: 形式参数:简称“形参”,在方法声明时用于接收外界传入的数据。 实参:调用方法适合实际传给方法的数据。...(sum); } } 方法的重载 这个概念指的是同一个命名的方法,但是内容却完全不同的情况。...: 方法名相同,参数个数不同,构成重载 方法名相同,参数类型不同,构成重载 方法名相同,参数顺序不同,构成重载 而不构成方法重载的也分为: 只有返回值不同,不构成方法的重载 只有参数名称不同,也不构成方法的重载

    35550

    一文整懂 Java 中静态代码 初始 构造方法的执行顺序

    一文整懂 Java 中静态代码 / 初始 / 构造方法的执行顺序 “ 相信,刷过面试题应该都碰到过很多题,关于类继承后 Java 中静态代码 / 初始 / 构造方法的执行顺序问题,每每记一下又忘了...静态代码 111 静态代码 222 初始 111 初始 222 无参构造方法 上图: [640?...111 静态代码 222 ChildrenDemo:静态代码 111 ChildrenDemo:静态代码 222 初始 111 初始 222 无参构造方法 ChildrenDemo 初始 111...ChildrenDemo 初始 222 无参构造方法 ChildrenDemo --------------------------------- 初始 111 初始 222 无参构造方法 ChildrenDemo...,初始与构造方法是一家子,输出在一,初始会在构造前初始化 03.总结 父类比子类先行执行 静态代码,在类第一次加载的时候,会初始化一次,适合项目中初始化全局参数,常量等 初始与构造方法是一家子

    87511

    Java-----代码

    什么是代码Java中, 使用{ }括起来的代码被称为代码,可分为局部代码、构造代码、 静态代码。...局部代码 位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利用率 局部代码方法内部进行定义,在该代码内部定义的变量作用范围也仅限于代码内部,在代码外部是无法访问代码内部定义的变量的...构造代码 位置:类中方法外定义 特点:每次构造方法执行的时,都会执行该代码中的代码,并且在构造方法执行前执行 作用:将多个构造方法中相同的代码,抽取到构造代码中,提高代码的复用性 demo:...){ System.out.println("这是有参参构造方法"); } } 静态代码 位置:类中方法外定义 特点:需要通过static关键字修饰,随着类的加载而加载,只执行...){ System.out.println("这是有参参构造方法"); } } 静态代码需要用static修饰,我们知道static修饰的变量会随着类的加载而加载,由于类文件只加载一次

    32430

    JavaJava中类的初始化顺序(静态方法,静态,非静态,最后有流程图)

    我们通过主方法运行Java程序,而这个主方法中创建了i对象并且属于InitializeDemo 类,所以在main方法执行时会将我们的类进行初始化。...当你知道了上边的规则之后,我们来看代码,类中有五个静态属性,一个非静态属性,一个静态,一个非静态还有一个静态方法。我们优先构建静态方法、属性和静态,之后在构建非静态。...类的一个对象进行初始化,按照代码顺序从上往下先构建静态的属性、方法和静态,之后在构建非静态和非静态属性。...一个类中有静态的本类对象,创建的过程从上到下先执行本类的非静态和非静态属性,最后在执行构造方法。...那么我们初始化t1的时候,就要从上向下找非静态和非静态属性(如果有的话 ),最后在执行构造方法

    31310

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

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

    1.4K30

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

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 一、格式区分及其性质 1.静态代码Java...2.构造代码Java使用{//Code...}的格式代表构造代码,对比于静态代码,其只少了static关键字的修饰。...3.构造函数  Java使用与类同名的方法(有参或无参){//Code...}的格式代表构造函数。...,但是构造函数因为Java中的多态语法只会执行一个,并非是所有都进行执行。...4.普通代码Java使用{//Code...}的格式代表构造代码,对比于构造代码,其区别是普通代码跑到方法内部了。位置:位于方法内部。

    1.6K20

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

    Java中,静态代码、构造代码、构造函数、普通代码的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序。...1、静态代码   ①、格式   在java类中(方法中不能存在静态代码)使用static关键字和{}声明的代码: public class CodeBlock { static{ System.out.println...对于静态方法,在类加载的时候,静态方法也已经加载了,但是我们必须要通过类名或者对象名才能访问,也就是说相比于静态代码,静态代码是主动运行的,而静态方法是被动运行的。   ...2、构造代码   ①、格式   在java类中使用{}声明的代码(和静态代码的区别是少了static关键字): public class CodeBlock { static{ System.out.println...子类的构造代码执行完毕再去执行子类的构造方法。   总之一句话,静态代码内容先执行,接着执行父类构造代码和构造方法,然后执行子类构造代码和构造方法

    1.6K20

    Java中静态代码和构造代码

    静态代码:     在java中使用static关键字声明的代码。静态用于初始化类,为类的属性初始化。每个静态代码只会执行一次。...由于JVM在加载类时会执行静态代码,所以静态代码先于主方法执行。 注意: 静态代码不能存在于任何方法体内。 静态代码不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。...构造方法执行 */ 普通代码 /*普通代码:在方法或语句中出现的{}就称为普通代码。...第二构造 构造方法 第一代码 第二构造 构造方法 第一代码 第二构造 构造方法 */ 静态代码 /*静态代码:在java中使用static关键字声明的代码。...Code的构造 Code的构造方法 Code的构造 Code的构造方法 Test的构造 Test的构造方法 Test的构造 Test的构造方法 */

    1.2K10

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

    参考:http://uule.iteye.com/blog/1558891 Java中的静态代码是在虚拟机加载类的时候,就执行的,而且只执行一次。...代码的执行顺序 主调类的静态代码 对象父类的静态代码 对象的静态代码 对象父类的非静态代码 对象父类的构造函数 对象的非静态代码 对象的构造函数 示例代码 public class StaticBlockTest1...static { System.out.println("Parent static block"); } //父类有参构造方法 public Parent...System.out.println("Children not static block"); } //子类无参构造方法 public Children(){...zhangsan50 //主调main方法 1 2 3 4 5 6 7 8 9 总结: 按照前面提到的顺序执行 子类定义无参构造方法,调用的父类也是无参构造方法

    1.1K10

    JAVA篇之------代码

    代码 非静态代码:没有static修饰的代码 静态代码:用static修饰的代码 用处 非静态代码:没有static修饰的代码 可以有输出语句 可以对类的属性声明进行初始化操作 可以调用静态或者非静态的变量或方法...("非静态代码1"); } { System.out.println("非静态代码2"); } { System.out.println...("非静态代码3"); } Per() { System.out.println("per的构造函数"); } } ---- 静态代码:用static...即不可以调用非静态的属性和方法。 若有多个静态的代码,则按照从上到下的顺序依次执行。 静态代码的执行要先于非静态代码。 静态代码只执行一次。...new方法创建对象,如果还要在构造器中初始化属性就没有办法了,用匿名内部类代码代替构造方法 代码: public class MAIN { public static void main(String

    22310
    领券