一. 什么是静态代码块

在java中使用static关键字声明的代码块叫静态代码块。

比如:

package cn.itcast.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;/*** Druid连接池的工具类*/
public class JDBCUtils {//1.定义成员变量 DataSourceprivate static DataSource ds ;static{try {//1.加载配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//2.获取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}//获取连接public static Connection getConnection() throws SQLException {return ds.getConnection();}//释放资源public static void close(Statement stmt,Connection conn){close(null,stmt,conn);}public static void close(ResultSet rs , Statement stmt, Connection conn){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();//归还连接} catch (SQLException e) {e.printStackTrace();}}}//获取连接池方法public static DataSource getDataSource(){return  ds;}}

里面被static包住的代码块

二. 有什么用?

静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。静态代码块随着类加载而加载,有多个静态代码块的,按代码块前后顺序加载。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。

三. 什么时候用?

如果有些代码必须在项目启动的时候就执行,那么我们就可以使用静态代码块来实现,这种代码是主动执行的。

静态代码块是什么?有什么用?相关推荐

  1. java 静态代码块 多线程,Java多线程编程笔记10:单例模式

    立即加载:"饿汉模式" 立即加载就是指使用类的时候已经将对象创建完毕,常见的实现方法就是直接new实例化.也就是在调用方法前,实例就被创建了.示例代码如下所示: class MyO ...

  2. java gui构造工具_Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具...

    1.下载jd-gui-windows-1.4.0. http://jd.benow.ca/ 2.通过jd-gui.exe查看.class文件,用于分析类编译过程. 3.源文件. // 加载相应的 He ...

  3. java修饰静态_Java-static修饰符及静态代码块

    在java面向对象设计的类中,经常使用到static修饰符修饰变量,现在来看看static修饰符作用和特点 一:static修饰的变量可以直接通过类名.的方式直接调用 public class sta ...

  4. 构造代码块,初始代码块和静态代码块的执行顺序

    先看结果! 静态代码块static{} -> 父类构造 -> 初始代码块{} -> 子类构造 // 静态代码块只在第一次实例化类的时候执行一次,再次实例化的时候不再执行 packag ...

  5. java中普通代码块,构造代码块,静态代码块的区别及代码示例

    本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...

  6. Java中普通代码块,构造代码块,静态代码块区别

    Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...

  7. 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...

    对静态代码块以及构造函数的执行先后顺序,一直很迷惑,看了孙伟琴老师的<java面向对象编程>又结合毕老师的java基础视频中的讲解,现用下面的这段小程序来简明扼要的叙述一下,以加深理解,与 ...

  8. java中静态代码块的用法 static用法详解(转)

    (一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...

  9. Java面试题之类的静态代码块和静态属性等的加载顺序

    如以下面试题: /** * @author hjs * @date 2019/3/62:41 * @Dec */public class B { public static B t1 = new B( ...

  10. static的三种用法,定义静态变量,静态函数,静态代码块!

    static的三种用法,定义静态变量,静态函数,静态代码块! 1.定义静态变量 class PersonStatic { //静态变量的特点 //1.静态变量无需生成对象就可被调用,可以使用类名和对象 ...

最新文章

  1. AI一分钟 | 娃哈哈要造智能汽车?世界顶级机器学习科学家黄恒加盟京东
  2. @data注解_聊一下@Conditional注解系列的作用
  3. java代码示例(6-3)
  4. Linux 文件目录特殊权限设定(SUID,SGID,SBIT)
  5. js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表
  6. android之sqlite增、删、改,查
  7. MySQL转账储存过程_实用的银行转账存储过程和流水号生成存储过程
  8. Word VBA查找表格单元格的第一段
  9. [笔记]SD卡相关资料
  10. 智能客服问题相似度算法设计——第三届魔镜杯大赛第12名解决方案
  11. 国家地区代号与英文名对应表
  12. 拉普拉斯变换 性质 及常用函数变换
  13. php post 漏洞_帝国CMS(EmpireCMS)v7.5漏洞分析 - LEOGG
  14. 计算机网络导论 虚电路 X.25 帧中继 ATM
  15. 小沙的remake(牛客)排序+ 树状数组 + dp
  16. web播放FTP地址视频
  17. 2021年全国大学生电子设计大赛(一)赛题解析与预测
  18. 安卓课程设计之记账本_课程设计:基于安卓的记账本.pdf
  19. 方正ES2007快速开发平台 Java版本
  20. mos 多路模拟电子开关_模拟多路开关-MOSFET全解.ppt

热门文章

  1. IDEA插件系列(8):Background Image Plus设置背景图片
  2. 文本框取值和点击事件
  3. Matlab绘图------三维绘图(二)---surf函数用法
  4. Node.js:pm2管理进程启动npm run dev和开机自启
  5. android万能USB驱动的安装方法.(针对开发人员 windows)
  6. python爬虫:百度图片爬虫代码
  7. 让同事羡慕的Excel快捷键
  8. “年薪 25 万只是白菜价”已成过去式,AI 岗位年薪下降 8.9%,最新薪酬报告发布
  9. C++ 求Fibonacci(斐波那契)数
  10. UE C++基础 | UKismetStringLibrary 函数库解析