课时17:静态代码块

简介: 1. 静态代码块及其分类2. 非主类中静态块定义3. 静态代码块主要目的4. 主类中静态代码定义

课时17:静态代码块

摘要:

1. 静态代码块及其分类

2. 非主类中静态块定义

3. 静态代码块主要目的

4. 主类中静态代码定义

 

01. 静态代码块及其分类

 

静态代码主要指的是使用 Static 关键字定义的代码块,静态块的定义需要考虑到两种情况:主类中定义静态块、非主类中定义静态块。

 

02. 非主类中静态块定义

 

范例:在非主类中进行静态块的定义

Class person{
Public person(){
     System.out.println(“【构造方法】person类构造方法执行”);
}
Static{
System.out.println(“【静态块】静态块执行。”);
}
{
    System.out.println(“【构造块】person构造块执行”);
}
}
Public class JavaDemo{
     Public static void main(string args[]){
          New person();
          New person();
          New person();
     }
}

image.png

 

image.png

 

03. 静态代码块主要目的

 

此时发现静态代码块会优先于构造块执行,并且无论有多少个实例化对象出现静态代码块只会执行一次,静态代码块的主要目的是为了类中的静态属性初始化。

范例:静态属性初始化

Class message{
      Public static string getCountry () {
          //该消息的内容可能来自于网络或其他服务器
          Return“中华人民共和国”;
      }
}
Class person{
Private static String country;
Static{
     //可能有很多语句要执行
     Country=Message.getCountry();//编写一部分的代码
     System.out.println(country);
 }
}
Public class JavaDemo{
Public static void main(String args[]{
    New person();
}
}

image.png

 

04. 主类中静态代码定义

 

对于静态代码块还必须考虑另外一种情况,在主类中定义的形式。

范例:在主类中进行静态代码块的定义

Public class JavaDemo{
Static{
     System.out.println(“*********程序初始化*********”);
}
Public static void main(String args[]){
     System.out.println(“www.mldn.cn”);
}
}

静态代码块优先于主方法先执行。在 jdk 1.7 之前我们可以通过静态代码块去执行Java程序。BUG 在 jdk 1.7 之后就修复了。永远都是主方法为程序起点,只不过他提供了一个比主方法优先级更高的静态代码块,帮助你实现一些准备过程。

image.png

相关文章
|
7月前
|
Oracle Java 关系型数据库
课时37:综合实战:数据表与简单Java类映射转换
今天我分享的是数据表与简单 Java 类映射转换,主要分为以下四部分。 1. 映射关系基础 2. 映射步骤方法 3. 项目对象配置 4. 数据获取与调试
121 1
|
JSON 缓存 Java
Springboot 之 Filter 实现超大响应 JSON 数据压缩
Springboot 之 Filter 实现超大响应 JSON 数据压缩
397 0
|
监控 Java API
SpringBoot 2.0 + 阿里巴巴 Sentinel 动态限流实战
前言 在从0到1构建分布式秒杀系统和打造十万博文系统中,限流是不可缺少的一个环节,在系统能承受的范围内既能减少资源开销又能防御恶意攻击。 在前面的文章中,我们使用了开源工具包 Guava 提供的限流工具类 RateLimiter 和 OpenResty 的 Lua 脚本分别进行 API 和应用层面的限流。
3135 0
|
7月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离的开发模式中,API 调试的效率直接影响项目的质量和交付速度。通过本文的对比分析,我们可以看到无工具调试模式虽具备灵活性和代码复用能力,但在操作便利性和团队协作上稍显不足。而传统的外部调试工具带来了可视化、高效协作与扩展性,却可能存在工具切换带来的开发链路断层问题。Apipost-Hepler 融合了两者的优势,让开发者无需离开熟悉的 IDEA 环境,就能享受可视化调试工具的强大功能。
178 5
|
7月前
|
算法 安全 搜索推荐
套用算法模板备案审核问题增多的原因及解决建议
随着算法备案要求的完善,企业常因使用网上廉价模板而遭遇审核通过率低、问题增多的困境。本文分析了审核不通过的原因,包括模板缺乏针对性、审核标准严格、审核人员主观差异及企业准备不足等,并提出建议:深入了解备案要求、准备详尽材料、避免通用模板、寻求专业帮助。备案后还需持续合规管理,确保算法服务安全运行。
|
8月前
|
网络协议 前端开发 应用服务中间件
nginxconf.sh 自动生成 nginx tcp 转发配置文件 conf
该脚本由 eisc.cn 开发,用于自动生成 Nginx 代理配置。它根据预设的域名、IP 和端口信息,为多个项目(如 www、work、sou 等)创建对应的 Nginx 配置文件,设置前端转发、端口对端口及后端转发规则,并生成日志和 301 跳转配置。支持自动创建 CGI 解析目录,确保各项目能够正确访问。运行时需具备 root 权限或使用 sudo。
262 9
|
12月前
|
前端开发 数据管理 编译器
引领前端未来:React 19的重大更新与实战指南🚀
React 19 即将发布,带来一系列革命性的新功能,旨在简化开发过程并显著提升性能。本文介绍了 React 19 的核心功能,如自动优化重新渲染的 React 编译器、加速初始加载的服务器组件、简化表单处理的 Actions、无缝集成的 Web 组件,以及文档元数据的直接管理。这些新功能通过自动化、优化和增强用户体验,帮助开发者构建更高效的 Web 应用程序。
561 1
引领前端未来:React 19的重大更新与实战指南🚀
|
缓存 移动开发 前端开发
10分钟教你手写8个常用的自定义hooks
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。本文是一篇以实战为主的文章,主要讲解实际项目中如何使用hooks以及一些最佳实践,不会一步步再介绍一遍react hooks的由来和基本使用,因为写hooks的文章很多,而且官网对于react hooks的介绍也很详细,所以大家不熟悉的可以看一遍官网。
648 0
|
IDE Java 编译器
Java的命名规范
Java的命名规范
614 2