【Java学习笔记】代码块

代码块


介绍:代码块又称为初始化块,属于类中的成员(即是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过{}包围起来

与类方法的不同点


一、代码块的基本使用

{System.out.println("我是末尾没有分号的代码块");
}
{System.out.println("我是末尾带有分号的代码块");
};

二、代码块的使用细节重点,难点


三、代码示例:体会代码块的调用和类加载的过程

package codeblock;public class main {public static void main(String[] args) {new b();}
}class a{static {System.out.println("调用  父类  的  static  代码块");System.out.println();test();System.out.println("------------------------------------------");};{System.out.println("========类加载完毕,静态相关内容初始化结束,进入  构造器  的初始化!!!========\n");System.out.println("------------------------------------------");System.out.println("调用  父类  的  普通  代码块");System.out.println();test();test1();System.out.println("------------------------------------------");};public a(){System.out.println("调用  父类  的构造器");System.out.println("------------------------------------------");System.out.println();System.out.println("===========该类的所有初始化工作结束,接着完成子类的初始化工作===========\n");}public static void test(){System.out.println("调用  父类  中的  static类型  的  test()方法");}public void test1(){System.out.println("调用  父类  中的  static类型  的  test1()方法");}}class b extends a{static {System.out.println("调用  子类  的  static  代码块");System.out.println();test();System.out.println("------------------------------------------");System.out.println();};{System.out.println("------------------------------------------");System.out.println("调用  子类  的  普通  代码块");System.out.println();test();test1();System.out.println("------------------------------------------");};public b(){/*隐含的内容1. super():默认调用父类的构造器2. 调用  本类  的  普通代码块*/System.out.println("调用  子类  的构造器");System.out.println("------------------------------------------");System.out.println();System.out.println("===========该类的所有初始化工作结束,接着完成子类的初始化工作===========\n");}public static void test(){System.out.println("调用  子类  中的  static类型  的  test()方法");}public void test1(){System.out.println("调用  子类  中的  static类型  的  test1()方法");}}

输出结果

调用  父类  的  static  代码块调用  父类  中的  static类型  的  test()方法
------------------------------------------
调用  子类  的  static  代码块调用  子类  中的  static类型  的  test()方法
------------------------------------------========类加载完毕,静态相关内容初始化结束,进入  构造器  的初始化!!!========------------------------------------------
调用  父类  的  普通  代码块调用  父类  中的  static类型  的  test()方法
调用  子类  中的  static类型  的  test1()方法
------------------------------------------
调用  父类  的构造器
------------------------------------------===========该类的所有初始化工作结束,接着完成子类的初始化工作===========------------------------------------------
调用  子类  的  普通  代码块调用  子类  中的  static类型  的  test()方法
调用  子类  中的  static类型  的  test1()方法
------------------------------------------
调用  子类  的构造器
------------------------------------------===========该类的所有初始化工作结束,接着完成子类的初始化工作===========进程已结束,退出代码0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring boot 2.7集成旧的springfox-boot-starter swagger oas 3.0

旧版本目前已经不维护推荐使用 springdoc-openapi-ui&#xff0c;这里为了演示使用旧的最新依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dep…

Linux按键驱动测试方式详细介绍

Linux按键驱动测试可采用以下分层方法&#xff1a; 基础事件检测 使用输入子系统调试工具&#xff1a; sudo apt install evtest # 安装事件测试工具 evtest # 选择对应设备编号触发按键后观察终端输出&#xff0c;正常情况应显示&#xff1a; Event:…

USB学习【13】STM32+USB接收数据过程详解

目录 1.官方的描述2.HAL的流程把接收到的数据从PMA拷贝到用户自己定义的空间中 3.处理接收到的数据4.最后再次开启准备接收工作 1.官方的描述 2.HAL的流程 以上的官方说法我们暂时按下不表。 如果接收到数据&#xff0c;会激活中断进入到USB_LP_CAN1_RX0_IRQHandler&#xff0…

上海内推 | 上海算法创新研究院-上海交大联合招收空间智能/具身智能算法实习生

最近这一两周不少公司已开启春招和实习招聘。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友解惑答疑&am…

C语言速成12之指针:程序如何在内存迷宫里找宝藏?

程序员Feri一名12年的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴&#xff01;君志所向,一往无前&#xff01; 0. 前言&#xff1a;程序如何在内存迷宫里找宝藏&#xff1f; 想象内存是一个巨…

部署n8n

https://github.com/n8n-io/n8n docker volume create n8n_data docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n Discover 2192 Automation Workflows from the n8ns Community

ABP VNext + Orleans:Actor 模型下的分布式状态管理最佳实践

ABP VNext Orleans&#xff1a;Actor 模型下的分布式状态管理最佳实践 &#x1f680; &#x1f4da; 目录 ABP VNext Orleans&#xff1a;Actor 模型下的分布式状态管理最佳实践 &#x1f680;一、引言&#xff1a;分布式系统的状态挑战 &#x1f4a1;二、架构图与技术栈 &am…

构建安全AI风险识别大模型:CoT、训练集与Agent vs. Fine-Tuning对比

构建安全AI风险识别大模型:CoT、训练集与Agent vs. Fine-Tuning对比 安全AI风险识别大模型旨在通过自然语言处理(NLP)技术,检测和分析潜在的安全威胁,如数据泄露、合规违规或恶意行为。本文从Chain-of-Thought (CoT)设计、训练集构建、以及Agent-based方法与**AI直接调优…

Baklib内容中台的主要构成是什么?

Baklib内容中台核心架构 Baklib作为一站式知识管理平台的核心载体&#xff0c;其架构设计围绕智能搜索引擎优化技术与多终端适配响应系统展开。通过模块化内容组件的灵活配置&#xff0c;企业可快速搭建知识库、FAQ页面及帮助中心等标准化场景&#xff0c;同时借助可视化数据看…

Ubuntu Desktop 24.04 常用软件安装步骤

文章目录 Ubuntu Desktop 24.04 常用软件安装步骤Snipaste F1快捷截图&#xff08;超方便 | 我6台电脑每台都用&#xff09;搜狗输入法快速浏览工具 | 空格键快速预览文件壁纸工具 | varietySSH 工具 | Termius 终端分屏工具 | TmuxCaffeine | 避免息屏小工具 一些设置将启动台…

详细使用@rollup/plugin-inject的方式

rollup/plugin-inject 是一个 Rollup 插件&#xff0c;它允许你在构建时自动注入模块中的变量引用&#xff0c;避免手动在每个文件中 import。Vite 使用的是 Rollup 构建底层&#xff0c;因此该插件在 Vite 项目中也适用。 一、使用场景 比如你希望在代码中不手动写 import { …

Day 0017:Web漏洞扫描(OpenVAS)解析

一、NVT脚本解析&#xff1a;漏洞检测的“DNA” 1. NVT脚本结构 每个NVT脚本都是一个Lua脚本&#xff0c;包含以下核心模块&#xff1a; lua -- 示例&#xff1a;检测Apache HTTPd 2.4.49路径穿越漏洞&#xff08;CVE-2021-41773&#xff09; script_id "1.3.6.1.4.1.…

【HarmonyOS Next之旅】DevEco Studio使用指南(二十六) -> 创建端云一体化开发工程

目录 1 -> 创建HarmonyOS应用工程 1.1 -> 新建工程 1.1.1 -> 前提条件 1.1.2 -> 选择模板 1.1.3 -> 配置工程信息 1.1.4 -> 关联云开发资源 1.2 -> 工程初始化配置 1.2.1 -> 自动开通云开发服务 1.3 -> 端云一体化开发工程目录结构 1.3.1…

Python 包管理工具 uv

Python 包管理工具 uv 是由 Astral 团队&#xff08;知名工具 Ruff 的开发者&#xff09;基于 Rust 开发的新一代工具&#xff0c;旨在通过高性能和一体化设计革新 Python 生态的依赖管理体验。以下是其核心特性、优势及使用指南的全面解析&#xff1a; 一、uv 的核心优势 极致…

何谓第二大脑?读书笔记

2025/05/11 发表想法 每个人都是矛盾结合体&#xff0c;既想学到新知识、新的能力&#xff0c;又想没办法专注的学习&#xff0c;既无法专注有渴望学习新技能&#xff0c;逐渐会产生焦虑、失眠等负面症状&#xff0c;这就是现实社会现照&#xff0c;那怎么办&#xff1f;我们能…

动态防御体系实战:AI如何重构DDoS攻防逻辑

1. 传统高防IP的静态瓶颈 传统高防IP依赖预定义规则库&#xff0c;面对SYN Flood、CC攻击等常见威胁时&#xff0c;常因规则更新滞后导致误封合法流量。例如&#xff0c;某电商平台遭遇HTTP慢速攻击时&#xff0c;静态阈值过滤无法区分正常用户与攻击者&#xff0c;导致订单接…

为什么在设置 model.eval() 之后,pytorch模型的性能会很差?为什么 dropout 影响性能?| 深度学习

在深度学习的世界里&#xff0c;有一个看似简单却让无数开发者困惑的现象&#xff1a; “为什么在训练时模型表现良好&#xff0c;但设置 model.eval() 后&#xff0c;模型的性能却显著下降&#xff1f;” 这是一个让人抓耳挠腮的问题&#xff0c;几乎每一个使用 PyTorch 的研究…

[爬虫知识] http协议

相关爬虫专栏&#xff1a;JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 引言&#xff1a;爬虫与HTTP的不解之缘 爬虫作用&#xff1a;模拟浏览器请求网页为何要懂HTTP&#xff1a;http是网络通信的基石&#xff0c;爬虫抓取数据就是通过HTTP协议进行的&#xff0c;了解http有…

《Spark/Flink/Doris离线实时数仓开发》目录

欢迎加入《Spark/Flink/Doris离线&实时数仓开发》付费专栏&#xff01;本专栏专为大数据工程师、数据分析师及准备大数据面试的求职者量身打造&#xff0c;聚焦Spark、Flink、Doris等核心技术&#xff0c;覆盖离线与实时数仓开发的全流程。无论你是想快速上手项目、提升技术…

事务基础概念

事务 事务是什么&#xff1f; 事务是一种机制&#xff0c;一个操作序列&#xff0c;包含了一组数据库操作命令&#xff0c;并且把所有命令作为一个整体一起向系统提交或者撤销操作请求&#xff0c;即统一这组命令要么一起执行&#xff0c;要么一起不执行 简短概况就是&#…