广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java简明解读代码块的应用
  • 229
分享到

Java简明解读代码块的应用

2024-04-02 19:04:59 229人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是代码块代码块的分类普通代码块构造块(实例代码块)静态代码块代码块的一些特性什么是代码块 java中被 {} 括起来的代码这部分被称为代码块 代码块的分类 普通代码块(本地代

什么是代码块

java中被 {} 括起来的代码这部分被称为代码块

代码块的分类

普通代码块(本地代码块)
构造块(实例代码块)
静态块
同步代码块 

本片文章就先讲普通代码块,构造快和静态块。而同步代码块一般在多线程种用到,后面写到多线程的时候会说同步代码块,在这就不多说了。代码块还是很简答的,但是有一些要注意的点希望大家记住,接下来我会通过普通代码块,构造快和静态块一起对比来讲解。

普通代码块

普通代码块就是用{}括起来的代码,这部分就是普通代码块,也称本地代码块。举个例子,看下面这段代码:

public class Test {
    public static void main(String[] args) {
        {
            System.out.println("这是普通代码块");
        }
    }
}

主函数中,输出 “这是普通代码块”这个部分是被{}括起来的部分,并且它的前面没有任何限制条件,这部分就是 普通代码块。当然这种代码块没什么太大的意义,因为没有限制条件,加不加{}它都会执行,所以平时不加{}也可以。

构造块(实例代码块)

实例代码块一般定义在类的内部,方法的外部。看下面这段代码:

class blocks{
    public int a;
    {
        this.a = 1;
        System.out.println("这是实例代码块");
    }
public class Test {
    public static void main(String[] args) {
    }
}

而实例代码块和普通代码块非常像,只是位置不同而已,还有一点,实例代码块可以为普通的成员变量进行赋值。

静态代码块

静态成员变量也就是被static修饰的变量的初始化分为两种:就地初始化 和 静态代码块初始化。

就地初始化就是在创建变量的时候就给它进行了赋值。接下来我们来看一下静态代码块初始化,

先来了解一下什么是静态代码块,看一下下面的代码:

class blocks{
    static int a ;
    static {
        a = 1;//对静态的成员变量进行赋值
        System.out.println("这是静态代码块");
    }
}
public class Test {
    public static void main(String[] args) {
    }
}

静态代码块就是在普通代码块的前面加了一个static,这就是静态代码块。而我可以在静态代码块里面对静态成员变量进行赋值,静态代码块只能为静态的成员变量进行赋值。

代码块的一些特性

静态代码块不管生成多少个对象,其只会执行一次

如果有多个静态或实例代码块,看定义的顺序

如果没有实例化对象,只会执行静态的

静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的

如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次合并

实例代码块只有在创建对象时才会执行

在这给大家讲解一下代码块的特性,看一下下面这段代码:

class Blocks {
    public int a;
    static int b;
    public double c;
    public Blocks(){
        System.out.println("这是一个不带参数的构造方法");
    }
    {
        this.a = 1;
        System.out.println("这是实例代码块");
    }
    static {
        b = 1;
        System.out.println("这是静态代码块");
    }
}
public class Test {
    public static void main(String[] args) {
        Blocks blocks = new Blocks();
    }
}

我们都知道我们在主函数中创建对象的时候,编译器会调用构造方法,也就是public Blocks这个函数会被执行。那么这段代码的运行结果是什么?是只执行构造方法?还 是从上到下顺序执行?

答案是**静态代码块先执行,然后是实例代码块,最后是构造方法。**运行结果如图所示:

不只是这样,静态代码块在整个程序中,运行且只运行一次。看下面这张图:

这里我在上面代码的基础上又创建了一个对象,除了静态代码块,其它都是执行了两次。剩下的还有一些结论,大家记一下就可以了。

到此这篇关于Java简明解读代码块的应用的文章就介绍到这了,更多相关Java代码块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java简明解读代码块的应用

本文链接: https://www.lsjlt.com/news/164197.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java简明解读代码块的应用
    目录什么是代码块代码块的分类普通代码块构造块(实例代码块)静态代码块代码块的一些特性什么是代码块 java中被 {} 括起来的代码这部分被称为代码块 代码块的分类 普通代码块(本地代...
    99+
    2022-11-13
  • Java:读取excel文件中的内容(简单、详细、明确、有全部代码)
    Java:读取excel文件中的内容 一、引入依赖二、引入工作类三、读取excel内容 一、引入依赖 注意: jxl 仅支持读取 .xls 文件,读 .xlsx 会报错! 在 pom.xml 中引入 jxl 的依赖 net.s...
    99+
    2023-08-19
    excel java 开发语言
  • 详解java中的四种代码块
    在java中用{}括起来的称为代码块,代码块可分为以下四种:一.简介1.普通代码块:类中方法的方法体2.构造代码块:构造块会在创建对象时被调用,每次创建时都会被调用,优先于类构造函数执行。3.静态代码块:用static{}包裹起来的代码片段...
    99+
    2023-05-30
    java 代码块 示例
  • Java深入理解代码块的使用细节
    目录1.基本介绍基本语法快速入门2.代码块细节类的调用顺序实例代码块细节2实例代码块细节2实例1.基本介绍 代码块又称为初始化块,属于类中的成员(类的一部分),类似于方法,讲逻辑语句...
    99+
    2022-11-13
  • Java编程中的4种代码块详解
    在Java编程中,代码块就是指用“{}”括起来的代码。下面看一下这四种代码块。 1、普通代码块 就是指类中方法的方法体。 public void xxx(){ //...
    99+
    2022-11-12
  • Java 多线程的同步代码块详解
    目录synchronized同步代码块同步方法(this锁)静态同步方法死锁问题lock总结火车站抢票问题 由于现实中买票也不会是零延迟的,为了真实性加入了延迟机制,也就是线程休眠语...
    99+
    2022-11-12
  • C语言简明讲解快速排序的应用
    目录快速排序1.1快速排序引入1.2快速排序的基本思想1.3快速排序的排序流程1.4实例说明1.5代码实现1.6性能分析快速排序 快速排序,说白了就是给基准数据找其正确索引位置的过程...
    99+
    2022-11-13
  • C语言简明讲解归并排序的应用
    目录一.归并排序1.1归并排序引入1.2归并排序的概念1.3归并排序的原理1.4实例说明1.5具体步骤说明1.6代码实现1.7性能分析一.归并排序 1.1归并排序引入 对于堆排序来说...
    99+
    2022-11-13
  • 如何利用PHP7的类型声明增加代码的可读性
    如何利用PHP7的类型声明增加代码的可读性在PHP7的版本中,引入了强类型声明的特性,可以让开发者在函数参数和返回值中指定具体的数据类型。这一特性的引入,不仅可以提高代码的可读性,还能减少错误和调试的工作量。下面将通过具体的代码示例,探讨如...
    99+
    2023-10-22
    PHP 可读性 类型声明
  • Java使用lambda表达式简化代码的示例详解
    目录目的推理一下实现接口,使用方法内部类实现接口,使用方法局部内部类实现接口,使用方法匿名内部类实现接口,使用方法使用lamda表达式的,实现方法可带参数只有一个参数有返回值只有一条...
    99+
    2022-11-13
    Java lambda表达式简化代码 Java lambda表达式 Java 简化代码
  • java 浅析代码块的由来及用法
    1.概述   代码块也是属于类中的成员(即是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。在类加载时或创建对象时隐式调用。 ̳...
    99+
    2022-11-12
  • Java代码块的使用细节有哪些
    这篇文章主要讲解了“Java代码块的使用细节有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java代码块的使用细节有哪些”吧!1.基本介绍代码块又称为初始化块,属于类中的成员(类的一部...
    99+
    2023-06-30
  • python如何使用typing模块加强代码的可读性
    这篇文章主要为大家展示了“python如何使用typing模块加强代码的可读性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用typing模块加强代码的可读性”这篇文章吧。一、...
    99+
    2023-06-22
  • Java实现一个简单的定时器代码解析
    定时的功能我们在手机上见得比较多,比如定时清理垃圾,闹钟,等等.定时功能在java中主要使用的就是Timer对象,他在内部使用的就是多线程的技术.Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务.Timer类的作...
    99+
    2023-05-30
    java 定时器 ava
  • java中构造代码块的作用是什么
    java中构造代码块的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的...
    99+
    2023-06-14
  • 如何利用PHP7的类型声明编写可读性更强的代码?
    如何利用PHP7的类型声明编写可读性更强的代码?随着PHP7的发布,类型声明成为了PHP的一个重要特性。通过类型声明,我们可以在函数和方法中明确指定输入参数和返回值的数据类型。这可以有效地提高代码的可读性和健壮性。在本文中,我们将介绍如何使...
    99+
    2023-10-26
    代码 PHP 可读性 类型声明
  • 如何解决Java代码读取文件缓存的问题
    小编给大家分享一下如何解决Java代码读取文件缓存的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、业务场景最近遇到了一个Java文件读取的缓存问题,打远程断点出现的也是原来的老代码参数,好在晚上十点突然找到了解决方...
    99+
    2023-06-15
  • Java 使用geotools读取tiff数据的示例代码
    Java中如果要解析tiff,其实很多时候,我们都选择gdal的Java库来实现,毫无疑问,gdal确实在GIS数据处理方面非常的强悍,其实Geotools中很多有关栅格数据的解析,...
    99+
    2022-11-13
  • python使用typing模块加强代码的可读性(实战演示)
    一、需求描述 没有类型提示的编程,总觉得不太方便,好在python3.5以后内置了typing模块。 typing模块会对函数和变量类型进行注解。 但是Python 运行时不强制执行...
    99+
    2022-11-12
  • python目标检测数据增强的代码参数解读及应用
    目录数据增强做了什么目标检测中的图像增强全部代码数据增强做了什么 数据增强是非常重要的提高目标检测算法鲁棒性的手段,学习一下对身体有好处! 数据增强其实就是让图片变得更加多样。比如说...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作