[Java基础]代码块

1.

2.构造代码块

public class CBlock {

    public CBlock()//构造函数
    {
        i=300;//构造函数中初始化
    }

    public int i=100;//显示初始化变量 

    {//构造代码块
        i=200;//构造代码块中初始化变量
    }

}

从以下几点理解以上代码:

  1. java编译器编译一个java源文件的时候,会把成员变量的声明语句提前至一个类的最前端。
  2. 成员变量的初始化工作其实都在在构造函数中执行的。
  3. 一旦经过java编译器编译后,那么构造代码块的代码块就会被移动构造函数中执行,是在构造函数之前执行的,构造函数的中代码是最后执行 的。
  4. 成员变量的显示初始化与构造代码块 的代码是按照当前代码的顺序执行的。
时间: 2024-08-09 19:52:01

[Java基础]代码块的相关文章

java基础--代码块 005

1, class Code{ // 静态代码块 >> 构造代码块 >> 构造方法 // 静态代码块随着类的加载而加载因此优先执行 // 静态代码块,最优先执行,一般对类进行初始化,只执行一次(第一次) ① static { System.out.println("XXX") } // 构造代码块,每次构造函数执行之前执行 // 可以把多个构造方法中共同代码放在一起,对对象初始化 { System.out.println("XXX"); } p

Java静态代码块、构造代码块、构造方法的执行顺序

Java静态代码块.构造代码块.构造方法的执行顺序 静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成员,需要创建对象才会随之加载到堆内存.所以静态的会优先非静态的. 执行构造器(构造方法)的时候,在执行方法体之前存在隐式三步: 1,super语句,可能出现以下三种情况: 1)构造方法体的第一行是this语句,则不会执行隐式三步, 2)构造方法体的第一行是super语句,则调用相应的父类的构造方法

详解Java中代码块和继承

本文发表于个人GitHub主页,原文请移步详解Java中代码块和继承 阅读. 概念 1.代码块 局部代码块 用于限定变量生命周期,及早释放,提高内存利用率 静态代码块 对类的数据进行初始化,仅仅只执行一次. 构造代码块 把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块. 2.继承 继承是已有的类中派生出新的类,新的类能够吸收已有类的数据属性和行为,并能扩展新的功能. 代码块的执行顺序 public class Test {    public String name

Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静态方法,静态变量等,都放在一起的话,这个执行顺序,怎么确定. 我就实际弄个代码,看下执行顺序. [java] view plain copy public class Line { static { System.out.println("静态代码块执行:loading line"); }

java基础--java静态代码块和静态方法的区别、static用法

转载自: http://blog.sina.com.cn/s/blog_afddb8ff0101aqs9.html 静态代码块:有些代码必须在项目启动的时候就执行,这种代码是主动执行的(当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化) 静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候 就已经加载 可以用类名直接调用) 两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 使用类的静态方

Java基础-代码执行顺序(重要)

Java代码初始化顺序: 1.由 static 关键字修饰的(如:类变量[静态变量].静态代码块)将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行.静态(类变量.静态代码块)属于类本身,不依赖于类的实例. 2.没有 static 关键字修饰的(如:实例变量[非静态变量].非静态代码块)初始化实际上是会被提取到类的构造器中被执行的,但是会比类构造器中的代码块优先执行到,非静态(实例变量.非静态代码块)的地位是相等的,它们将按顺序被执行. 形参: 比如你定义一个函数void a

Java静态代码块,扫盲贴

一个类可以使用不包含在任何方法体中的静态代码块.当类被载入时,静态代码块被执行,且只执行一次.导致类被载入的操作包括:使用任何类的静态属性或方法,新建类的对象(声明类的对象不会导致静态代码块被执行).静态代码块经常用来进行类属性的初始化.请看下面的测试: class Person { public Person() { System.out.println("1.public Person()"); } static { System.out.println("2.Perso

Java中代码块执行顺序

代码块:在Java中,使用{}括起来的代码被称为代码块.根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期.构造代码块:在类中的成员位置,用{}括起来的代码.每次调用构造方法执行前,都会先执行构造代码块.作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化.静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰了.作用:一般是对类进行初始化. 静态代码块,构造代码块,构造方法的执行顺序? 首先执行静态代码块 接着执行构造代码块 最后指向

Java面向对象--代码块(初始化块)和内部类

本篇博客介绍Java学习过程中类的成员之代码块(初始化块)和内部类的具体使用. 目录: ? 代码块(初始化块) ? 内部类(Inner class) ? 代码块(初始化块) 代码块的概述 ? 代码块(或初始化块)的作用:对Java类或对象进行初始化操作 ? 代码块(或初始化块)的分类:一个类中代码块只能被static修饰符修饰,若由static修饰称为静态代码块(static block),没有使用static修饰的,为非静态代码块 ? static 代码块化 通常用于初始化static cla