当前位置: 首页 > news >正文

Java基础 8.14

1.代码块快速入门

基本介绍

  • 代码化块又称为初始化块,属于类中的成员(即是类的一部分) 类似于方法 将逻辑语句封装在方法体中 通过{}包围起来
  • 但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时,或创建对象时隐式调用

基本语法

修饰符 {};

注意

  • 修饰符可选,要写的话,也只能写 static
  • 代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的,叫普通代码块/非静态代码块
  • 逻辑语句可以为任何逻辑语句(输入、输出、方法调用、循环、判断等)
  • ;号可以写上,也可以省略。

2.代码块的好处和案例

  • 相当于另外一种形式的构造器(对构造器的补充机制),可以做初始化操作
  • 场景:如果多个构造器中都有重复的语句,可以抽取到初始化块中,提高代码的复用性
package com.logic.codeblock_;import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;public class CodeBlock01 {public static void main(String[] args) {Movie superman = new Movie("Superman");Movie movie = new Movie("Batman", 30, "logic");}
}class Movie {private String name;private double price;private String director;//把相同语句放在一个代码块中//不管调用哪个构造器,创建对象,都会先调用代码块内容//代码块调用的顺序优先于构造器{System.out.println("电影屏幕打开...");System.out.println("广告开始...");System.out.println("电影正式开始...");}//三个构造器 重载public Movie(String name) {System.out.println("Movie(String name)被调用...");this.name = name;}public Movie(String name, double price) {System.out.println("Movie(String name, double price)被调用...");this.name = name;this.price = price;}public Movie(String name, double price, String director) {System.out.println("Movie(String name, double price, String director)被调用...");this.name = name;this.price = price;this.director = director;}
}
http://www.lryc.cn/news/620485.html

相关文章:

  • 哈希表特性与unordered_map/unordered_set实现分析
  • 【159页PPT】智慧方案企业数字化转型流程体系建设与运营方案(附下载方式)
  • 群晖 NAS 影音访问:通过 cpolar 内网穿透服务实现 Nastool 远程管理
  • openvsx搭建私有插件仓库
  • Elasticsearch RBAC 配置:打造多租户环境的安全访问控制
  • Cherryusb UAC例程对接STM32 SAI播放音乐和录音(上)=>SAI+TX+RX+DMA的配置与音频回环测试
  • 深入详解C语言数组:承上启下——从C语言数组基础到数据结构衔接
  • 抓取系统升级,是优化还是重构更合适?
  • CSS aspect-ratio 属性
  • RTC时钟倒计时数码管同步显示实现(STC8)
  • 【基于个人博客系统】---测试报告
  • 当GitHub宕机时,我们如何协作?
  • GO学习记录五——数据库表的增删改查
  • 手写MyBatis第16弹:泛型魔法应用:MyBatis如何破解List的运行时类型
  • C++ 应用场景全景解析:从系统级到AI的跨越式演进
  • 分布式系统架构设计模式:从微服务到云原生
  • 河南萌新联赛2025第(五)场:信息工程大学”(补题)
  • DataHub OPC Gateway:实现OPC UA与OPC DA无缝集成的高性能网关
  • iOS App TF上架全流程实战 高效内测分发与IPA包管理
  • Boost库中Pool 基础内存池(boost::pool<>)的详细用法解析和实战应用
  • Docker 核心技术:Namespace
  • 版本更新!FairGuard-Mac加固工具已上线!
  • 银河麒麟系统部署oceanbase社区版
  • 【入门级-C++程序设计:13、STL 模板:栈(stack)、队 列(queue)、 链 表(list)、 向 量(vector) 等容器】
  • 中介者模式和观察者模式的区别是什么
  • mysql——count(*)、count(1)和count(字段)谁更快?有什么区别?
  • 【React】hooks 中的闭包陷阱
  • 某处卖600的【独角仙】尾盘十分钟短线 尾盘短线思路 手机电脑通用无未来函数
  • coze小白-如何用coze上传本地文件?(对话流使用)
  • 《SeeClick: Harnessing GUI Grounding for Advanced Visual GUI Agents》论文精读笔记