皮卡丘不是竹鼠 (@pkqbszs)java学习分享之代码块 中发帖

第一次尝试分享学习笔记,本人还是小白,不喜勿喷 
代码块
代码块可以简单的理解成只有方法体的方法,在加载类或创建对象时隐式调用。
代码块不能被程序员手动调用。
java中最主要的两种代码块为:


静态代码块:在加载类时执行。(在代码块前加上static)


构造代码块:在创建对象时(构造方法执行之前)执行。(无static标记)


每个代码块都有自己执行的明确时机,不需要也不能被人类调用。
那代码块到底能做什么?为什么要设计出来这种东西?
静态代码块的必要性
有时,初始化一个静态成员需要执行一段逻辑,而非简单赋值,比如读文件等。
import java.sql.*;
public class DatabaseConnection {
// 静态变量:整个程序共享一个数据库连接
private static Connection conn;

...