代码块要点

本文详细介绍了Java中的构造代码块、局部代码块及静态代码块的概念、用途与注意事项,并通过具体示例展示了它们如何在实际编程中应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造代码块:
  直接在类中定义且没有加static关键字的代码块称为{}构造代码;
  作用:给对象统一初始化数据
 
 
public class Demo1 { public static void main(String[] args) { Test test = new Test(3); //构造代码块会在构造函数被调用时执行, 且在这个例子中比"this.id=id;"语句先执行,作用是给对象统一初始化数据; System.out.println(test); }}class Test{ int id; String name; { this.id= 5; this.name = "测试"; System.out.println("这是构造代码块"); } Test(int id){ this.id = id; } public String toString(){ return "name: "+this.name +" , "+"id: "+ this.id ; }}
 以下例子统计了所有构造函数一共被调用了多少次(构造代码块的使用)
1 public class Demo1 { 2 public static void main(String[] args) { 3 4 new Test(); 5 new Test(); 6 new Test(3); 7 new Test(); 8 new Test(5); 9 Test.count();10 11 }12 }13 14 class Test{15 int id;16 String name;17 static int sum = 0;18 {19 sum += 1;20 }21 22 Test(){23 24 }25 26 Test(int id){27 28 }29 30 static void count(){31 System.out.println(sum);32 }33 34 }
 
构造代码块注意点:
  1:java编译器编译java类时,会先将成员属性的声明放到类的前端
  2:成员变量的初始化工作放到构造函数中
  3:如果类中有构造代码块,java编译器在编译时会先将构造代码块中的代码移到构造函数中执行,
         构造函数中原有的代码最后执行
        
  4:成员属性的初始化和构造代码块的执行顺序是根据原码中的位置执行
 
 
局部代码块:
在函数中的代码块、
作用:在方法中,如果要缩短变量的寿命,可以使用
     方法中,某段代码之后,都不再使用某个变量(这个变量有可能是一个很大的Map集合,很占内存),则可以将其定义到局部代码块中,及时结束其生命周期,释放空间!
public class Demo1 { public static void main(String[] args) { Test test = new Test(); test.run(); }}class Test{ int id; String name; void run(){ { for(int i = 0;i < 3; i++){ System.out.println(i); } System.out.println("我是局部代码块,变量i出了局部代码块就没有任何作用"); } System.out.println("我是普通函数"); } }
 
 
静态代码块:
 
在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。
由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
 
 
注意:1 静态代码块不能存在于任何方法体内。2 静态代码块不能直接访问静态实例变量和实例方法,需要通过类的实例对象来访问。
 
 
 
public class Demo1 { public static void main(String[] args) { new Test(); }}class Test{ int id; String name; static{ System.out.println("我是静态代码块"); } }
<think>好的,我现在需要帮助用户了解如何在Markdown中使用Mermaid代码块,包括语法说明示例。首先,我要回想用户的问题,用户提到了之前引用的一个VS Code插件,Markdown Preview Mermaid Support,所以可能需要具体说明如何在该插件下使用Mermaid。 用户可能需要基础的Mermaid语法教程,比如流程图、序列图等的绘制方法。我需要确保回答结构清晰,分步骤说明,并且每个部分都有对应的示例代码效果图。同时,要提醒用户安装插件,因为这是使用Mermaid的前提。 接下来,我需要考虑用户可能的疑问,比如常见的图表类型,语法中的注意事项,例如节点命名、箭头类型等。此外,用户可能对如何在实际文档中应用Mermaid感兴趣,例如在VS Code中预览图表的方法。 还要检查是否需要补充其他资源,比如官方文档链接,方便用户进一步学习。同时,确保所有Mermaid代码块都用正确的格式包裹,即使用三个反引号加mermaid标签,并且在回答中正确展示示例代码效果描述,因为用户可能无法直接看到图片,所以需要用文字描述图表的结构。 最后,生成的相关问题要贴近用户可能遇到的后续疑问,比如如何调整样式、支持哪些图表类型等。需要确保引用标识正确,但根据用户提供的引用内容,可能只需要参考之前的插件信息,但实际回答中可能不需要具体引用,因为用户的问题更多是操作指导而非理论引用。</think># Mermaid代码块使用指南 ## 一、基础使用方法 1. 安装VS Code插件`Markdown Preview Mermaid Support` 2. 创建/打开`.md`文件 3. 使用代码块语法: ```mermaid graph LR A[开始] --> B(处理流程) B --> C{判断条件} C -->|是| D[结果1] C -->|否| E[结果2] ``` 效果描述:生成带方形节点、圆形节点菱形条件判断的流程图[^1] ## 二、常用语法示例 ### 1. 流程图(Flowchart) ```mermaid flowchart TD Start --> Input[/输入数据/] Input --> Process[数据处理] Process --> Output[\输出结果\] ``` ![流程图示意图] ### 2. 序列图(Sequence Diagram) ```mermaid sequenceDiagram Alice->>John: 请求数据 John-->>Alice: 返回数据 loop 验证流程 Alice->Alice: 数据校验 end ``` ![序列图示意图] ### 3. 甘特图(Gantt) ```mermaid gantt title 项目计划 dateFormat YYYY-MM-DD section 阶段A 任务1 :a1, 2023-08-01, 30d 任务2 :after a1, 20d section 阶段B 任务3 :2023-09-01, 12d ``` ![甘特图示意图] ## 三、语法要点 1. 节点定义: - `[矩形]`、`(圆角)`、`{菱形}`、`[/斜边/]`、`[\反向斜边\]` 2. 连接线类型: - `-->` 实线箭头 - `---` 无箭头实线 - `-.->` 虚线箭头 3. 注释支持: ```mermaid graph LR %% 这是注释 A--备注-->B ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值