`
adoph
  • 浏览: 5384 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java中4种代码块

 
阅读更多
Java的4种代码块

一、普通代码块

  直接在一个方法中出现的{}就称为普通代码块,也叫局部代码块,出现在局部位置,作用主要是限定变量的生命周期。例子程序如下:

public class CodeDemo01{

  public static void main(String[] args){

  //普通代码块

    {

      int x = 10;

       System.out.println("x=" + x);

    }

    int x = 100;

    System.out.println("x=" + x);

  }

}

二、构造代码块

  直接在类中成员位置定义的没有加static关键字的代码块{}称为构造代码块,每次调用构造方法执行前都会执行构造代码块。作用:可以把多个构造方法中共同代码放到一起,对对象进行初始化。例子程序如下:

public class CodeDemo02{

  public CodeDemo02(){

     System.out.println("========这是构造方法=========");

  }

  //这是构造代码块,而且在new对象时,构造代码块优先构造方法执行

  {

     System.out.println("=========这是构造块!=========");

  }

  public static void main(String[] args){

     new CodeDemo02();

     new CodeDemo02();

  }

}

三、静态代码块

  使用static关键字声明的代码块称为静态代码块,静态块的主要目的是用来为静态属性初始化,静态代码块只执行一次。例子程序如下:

public class CodeDemo03{

  static{

    System.out.println("这是主类中的静态代码块!");

  }

  public static void main(String[] args){

    new Demo();

    new Demo();

     new Demo();

  }
}

class Demo{

  static{

     System.out.println("这是Demo类中的静态代码块!");

  }

  {

     System.out.println("这是Demo类中的构造块!");

  }

  public Demo(){

    System.out.println("这是构造方法!");

  }
}

  静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!

以上三种代码:
面试题:静态代码块,构造代码块,构造方法的执行顺序?
        静态代码块---构造代码块---构造方法
        静态代码块:只执行一次。
        构造代码块:每次调用构造方法执行前都会执行。

补充:看以下代码写执行结果

class Fu{

static{
System.out.println("静态代码块Fu");
}

{
System.out.println("构造代码块Fu");
}

public Fu(){
System.out.println("构造方法Fu");
}
}

class Zi extends Fu{
static{
System.out.println("静态代码块Zi");
}

{
System.out.println("构造代码块Zi");
}

public Zi(){
System.out.println("构造方法Zi");
}
}

public class ExtendsTest {
public static void main(String[] args) {
Zi zi = new Zi();
}
}

执行结果:
静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi
分析:执行main方法时,发现Zi类,类加载器去加载Zi类,发现继承Fu类,先加载Fu类静态代码块(静态随着类加载,然后加载子类静态代码块)。
new Zi();先执行Fu类初始化(成员默认初始化,显示初始化,构造方法初始化)构造代码块和构造方法,然后执行子类构造代码块和构造方法。


四、同步代码块

  同步代码块主要出现在多线程中。

未完待续(代码块在继承中的执行顺序)..........
分享到:
评论

相关推荐

    Java基础之代码块.docx

    Java基础之代码块 Java 中的代码块是指用一对花括号 {} 包围的代码区域,这些代码块可以...Java 中的代码块有三种:普通语句块、构造块和静态块,每种代码块的执行时机不同,需要根据实际情况选择合适的代码块类型。

    JAVA常用代码块

    JAVA常用代码块 JAVA常用代码块 JAVA常用代码块 JAVA常用代码块 JAVA常用代码块

    eclipse java 代码块折叠插件

    eclipse java 代码块折叠插件,可以用对if、for、while、function 等代码块折叠,类似vs IDE。 使用方法: (1)解压; (2)将 com.cb.eclipse.folding_1.0.6.jar 拷贝到eclipse 安装目录的插件目录(plugins目录)...

    java 代码块折叠插件

    Java 代码块折叠插件是一种增强IDE(集成开发环境)功能的工具,它允许程序员更加高效地管理和阅读源代码。在编程过程中,特别是在处理大型项目时,代码的组织和可读性至关重要。代码块折叠功能使得开发者能够隐藏...

    java中的构造代码块和构造函数.pdf

    java中的构造代码块和构造函数.pdf

    java 静态代码块通过类加载器获取资源文件例子

    在Java编程中,静态代码块(Static Block)和类加载器(Class Loader)是两个重要的概念,它们在软件开发中有着广泛的应用。本案例聚焦于如何利用静态代码块结合类加载器来高效地获取资源文件,尤其是属性配置文件。...

    java静态代码块与非静态代码块.doc

    静态代码块是 Java 中的一种特殊的代码块,它是静态的,意思是说它是属于类的,而不是属于对象的。静态代码块是在类加载时自动执行的,它们是 JVM 在加载类时执行的代码。静态代码块通常用于初始化一些项目最常用的...

    java 代码块与静态代码块加载顺序

    Java 代码块是指在类中使用大括号 `{}` 包围的代码块,这些代码块可以出现在类的任何位置,包括构造函数、静态代码块、实例代码块等。Java 代码块的执行顺序取决于其所在的位置和上下文环境。 在上面的实例代码中,...

    java中的static变量,方法,代码块

    本文将深入探讨`static`在变量、方法和代码块中的应用,通过示例和解释帮助读者更深刻地理解其功能与特性。 #### 1. Static变量 `static`变量,亦称为静态变量或类变量,与实例变量相对。其最显著的特点在于,无论...

    java静态代码块与非静态代码块参照.pdf

    Java 中的代码块可以分为静态代码块和非静态代码块两种,两者的执行时机和作用域不同。本文将通过实例代码和详细解释,阐述 Java 静态代码块与非静态代码块的区别和应用场景。 静态代码块 静态代码块是指使用静态...

    java代码块测试

    首先,让我们理解Java的四种主要代码块: 1. **局部代码块**:这些代码块定义在方法内部,仅在该方法调用时执行。它们通常用来限制变量的作用域,提高内存效率。 2. **构造器代码块**或**实例初始化块**:当创建类...

    Java 普通代码块静态代码块执行顺序(实例讲解)

    在Java编程语言中,了解代码块的执行顺序对于编写高效且无错的代码至关重要。这里我们将深入探讨Java中的普通代码块(实例初始化块)和静态代码块的执行顺序,并通过实例来阐述这一概念。 首先,我们需要明白两种...

    Java的静态代码块、非静态代码块、构造函数

    Java编程语言中,静态代码块、非静态代码块和构造函数是面向对象设计的重要组成部分,它们在类的初始化和对象创建过程中起到关键作用。本文将深入探讨这些概念,以及它们在实际开发中的应用。 首先,我们来理解静态...

    深入探索Java中的同步机制:同步代码块与同步方法详解

    同步代码块和同步方法是Java中确保线程安全的重要机制。它们各有优缺点,适用于不同的场景。在实际开发中,开发者应该根据具体需求选择合适的同步机制。通过合理使用同步代码块和同步方法,可以有效地控制线程对共享...

    Java基础练习代码

    函数定义了完成特定任务的代码块,通过参数传递数据,返回结果。在练习中,理解参数、返回值、重载和递归函数的概念非常重要。 异常处理是Java中的另一个重要主题。通过try-catch-finally结构,可以捕获并处理程序...

    wps代码块插件wps-syntaxhighlighter

    wps代码块插件

    大数据必学Java基础(三十七):代码块讲解

    代码块是 Java 语言中的一种基本结构单元,它是 Java 程序的基本组成部分。代码块可以分为五种:普通块、构造块、静态块、同步块和内部类。 代码块的概念 代码块是指 Java 程序中的一段代码,它可以包括变量声明、...

    Java 中普通代码块,构造代码块,静态代码块区别及代码示例

    Java编程语言中有三种类型的代码块,它们分别是普通代码块、构造代码块和静态代码块,每种都有其特定的用途和执行顺序。 1. **普通代码块**: 普通代码块(也称为局部代码块)是在方法或者类的成员变量声明之间...

    静态代码块

    静态代码块是Java语言中的一个重要概念,主要用于初始化类级别的数据成员或执行一些仅需执行一次的操作。静态代码块通过`static`关键字来定义,在类加载时执行,且只执行一次。这与实例构造器或普通代码块不同,后者...

    Java构造代码块,静态代码块原理与用法实例分析

    Java构造代码块和静态代码块是Java中两种特殊的代码块,它们的运行机制和应用场景不同,下面将详细介绍Java构造代码块和静态代码块的原理、用法和注意事项。 一、局部代码块 局部代码块是指在某个特定的范围内定义...

Global site tag (gtag.js) - Google Analytics