java 代码块
Java中的代码块主要有三种类型:普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。
-
普通代码块:在方法内部定义,使用一对大括号
{}包围的代码片段。它的作用域限定在大括号内,每当程序执行到该代码块时就会执行其中的代码。 -
静态代码块:使用
static关键字定义,属于类级别的代码块。静态代码块在类被加载到JVM时执行,且只执行一次。常用于初始化静态变量。 -
构造代码块:没有任何前缀修饰,直接使用一对大括号
{}定义在类中。每次创建类的实例时,构造代码块都会执行,并且在构造方法执行前执行。常用于所有构造方法共享的代码。
下面是这三种代码块的示例:
在这个例子中,当BlockExample类被加载时,静态代码块首先执行。然后,每次使用new关键字创建BlockExample类的实例时,构造代码块会在构造方法之前执行。最后,当调用method方法时,其中的普通代码块会执行。
public class BlockExample {// 静态代码块static {System.out.println("静态代码块执行");// 初始化静态变量或执行仅需执行一次的代码}// 构造代码块{System.out.println("构造代码块执行");// 执行所有构造方法共享的初始化代码}// 构造方法public BlockExample() {System.out.println("构造方法执行");}public void method() {// 普通代码块{int localVariable = 10;System.out.println("普通代码块执行,局部变量值为: " + localVariable);}}public static void main(String[] args) {BlockExample example = new BlockExample();example.method();}
}
class test2 extends test1 {static {System.out.println("test2 static");}public static void main(String[] args) {test2 t = new test2();t.mth();test2 t2 = new test2();t2.mth();}{System.out.println("test2 block");}@Overridepublic void mth() {{System.out.println("test2 method block");}System.out.println("test2");}
}

相关文章:
java 代码块
Java中的代码块主要有三种类型:普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。 普通代码块:在方法内部定义,使用一对大括号{}包围的代码片段。它的作用域限定在大括号内,每当程序执行到该代码块时就会执行其…...
vue中避免多次请求字典接口
vuex缓存所有字典项 背景vuex管理所有字典项调用字典接口处理字典项数据的filter页面中使用字典 背景 每次用到字典都需要通过对应的字典type调用一次字典接口,当一个页面用到字典项很多时,接口请求炒鸡多,会导致接口响应超时。 本篇文章改为…...
Snappy使用
Snappy使用 Snappy是谷歌开源的压缩和解压的开发包,目标在于实现高速的压缩而不是最大的压缩 项目地址:GitHub - google/snappy:快速压缩器/解压缩器 Cmake版本升级 该项目需要比较新的cmake,CMake 3.16.3 or higher is requi…...
跨越重洋:在Heroku上配置Pip镜像源的终极指南
🌐 跨越重洋:在Heroku上配置Pip镜像源的终极指南 Heroku是一个支持多种编程语言的云平台即服务(PaaS),它允许开发者部署和管理应用程序。然而,由于Heroku的服务器位于海外,直接使用Python的包管…...
SpringBoot + 虚拟线程,性能炸裂!
一、什么是虚拟线程 虚拟线程是Java19开始增加的一个特性,和Golang的携程类似,一个其它语言早就提供的、且如此实用且好用的功能,作为一个Java开发者,早就已经望眼欲穿了。 二、虚拟线程和普通线程的区别 “虚拟”线程…...
Java Character类
Character是char的包装类 转义序列 Character类的方法...
Python中的爬虫实战:猫眼电影爬虫
随着互联网技术的快速发展,网络上的信息量越来越庞大。猫眼电影作为国内领先的电影数据平台,为用户提供了全面的电影信息服务。本文将介绍如何利用python编写简单的猫眼电影爬虫,获取电影相关数据。 爬虫概述 爬虫,即网络爬虫&a…...
WAIC2024 | 华院计算邀您共赴2024年世界人工智能大会,见证未来科技革新
在智能时代的浪潮汹涌澎湃之际,算法已成为推动社会进步的核心力量。作为中国认知智能技术的领军企业,华院计算在人工智能的广阔天地中,不断探索、创新,致力于将算法的潜力发挥到极致。在过去的时日里,华院计算不断探索…...
数据库原理之数据库基本概念
目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念,帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data:描述事物的符号,数据库中存储的基本对象。 数据库Database:长期存储在计算机…...
vue2项目的打包以及部署
打包 当我们写好vue2的项目后,可以通过npm build来对项目进行打包 npm build 打包完成后我们可以看到在当面目录下生成了dis目录,src下的文件都会被打包进这个目录里,当然打包后的文件我们不能直接在浏览器打开,需要进行部署 部署 1.新建一个…...
Java的全局异常处理代码
第一步:先写一个异常管理类: package com.example.firefighting.exceptions;import com.example.firefighting.utils.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerA…...
Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁
CMSIS 2.0 接口中的 Semaphore(信号量)是用于嵌入式系统中多线程或中断服务例程(ISR)之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器,用于跟踪可…...
注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!
我们到底应该在什么情况下探索新事物,什么情况下专注于已有的东西呢?本质上来说,这个问题就是在询问,你究竟应该耗费精力去探索新的信息,还是专注从既有的信息中获取收获? 有人采访了临终的老人,…...
[SwiftUI 开发] 嵌套的ObservedObject中的更改不会更新UI
1. 发生问题的demo 业务逻辑代码 class Address: ObservableObject {Published var street "123 Apple Street"Published var city "Cupertino" }class User: ObservableObject {Published var name "Tim Cook"Published var address Addr…...
全面了解机器学习
目录 一、基本认识 1. 介绍 2. 机器学习位置 二、机器学习的类型 1. 监督学习 2. 无监督学习 3. 强化学习 三、机器学习术语 1. 训练样本 2. 训练 3. 特征 4. 目标 5. 损失函数 四、机器学习流程 五、机器学习算法 1. 分类算法 2. 聚类算法 3. 关联分析 4. …...
作为图形渲染API,OpenGL和Direct3D的全方位对比。
当你在网页看到很多美轮美奂的图形效果,3D交互效果,你知道是如何实现的吗?当然是借助图形渲染API了,说起这个不就不得说两大阵营,OpenGL和Direct3D,贝格前端工场在本文对二者做个详细对比。 一、什么是图形…...
安装Rabbitmq遇到的坑
!!!一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后,如果在虚拟机的服务器上可以打开,在本地浏览器…...
React+TS 从零开始教程(4):useEffect
上一节传送门:ReactTS 从零开始教程(3):useState 源码链接:https://pan.quark.cn/s/c6fbc31dcb02 上一节,我们已经学会了React的第一个Hook:useState。 这一节,我们要学习的是另一…...
网络安全学习路线图(2024版详解)
近期,大家在网上对于网络安全讨论比较多,想要学习的人也不少,但是需要学习哪些内容,按照什么顺序去学习呢?其实我们已经出国多版本的网络安全学习路线图,一直以来效果也比较不错,本次我们针对市…...
你了解人工智能吗?
前言 人工智能(Artificial Intelligence,AI)是计算机科学的一个重要分支,致力于开发能够执行通常需要人类智能的任务的系统。本文将从历史发展、关键技术、应用领域以及未来挑战等方面,深入探讨人工智能的相关内容。 …...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...
