静态代码块是什么?有什么用?
一. 什么是静态代码块
在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在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
三. 什么时候用?
如果有些代码必须在项目启动的时候就执行,那么我们就可以使用静态代码块来实现,这种代码是主动执行的。
静态代码块是什么?有什么用?相关推荐
- java 静态代码块 多线程,Java多线程编程笔记10:单例模式
立即加载:"饿汉模式" 立即加载就是指使用类的时候已经将对象创建完毕,常见的实现方法就是直接new实例化.也就是在调用方法前,实例就被创建了.示例代码如下所示: class MyO ...
- 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 ...
- java修饰静态_Java-static修饰符及静态代码块
在java面向对象设计的类中,经常使用到static修饰符修饰变量,现在来看看static修饰符作用和特点 一:static修饰的变量可以直接通过类名.的方式直接调用 public class sta ...
- 构造代码块,初始代码块和静态代码块的执行顺序
先看结果! 静态代码块static{} -> 父类构造 -> 初始代码块{} -> 子类构造 // 静态代码块只在第一次实例化类的时候执行一次,再次实例化的时候不再执行 packag ...
- java中普通代码块,构造代码块,静态代码块的区别及代码示例
本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...
- Java中普通代码块,构造代码块,静态代码块区别
Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...
- 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...
对静态代码块以及构造函数的执行先后顺序,一直很迷惑,看了孙伟琴老师的<java面向对象编程>又结合毕老师的java基础视频中的讲解,现用下面的这段小程序来简明扼要的叙述一下,以加深理解,与 ...
- java中静态代码块的用法 static用法详解(转)
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
- Java面试题之类的静态代码块和静态属性等的加载顺序
如以下面试题: /** * @author hjs * @date 2019/3/62:41 * @Dec */public class B { public static B t1 = new B( ...
- static的三种用法,定义静态变量,静态函数,静态代码块!
static的三种用法,定义静态变量,静态函数,静态代码块! 1.定义静态变量 class PersonStatic { //静态变量的特点 //1.静态变量无需生成对象就可被调用,可以使用类名和对象 ...
最新文章
- AI一分钟 | 娃哈哈要造智能汽车?世界顶级机器学习科学家黄恒加盟京东
- @data注解_聊一下@Conditional注解系列的作用
- java代码示例(6-3)
- Linux 文件目录特殊权限设定(SUID,SGID,SBIT)
- js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表
- android之sqlite增、删、改,查
- MySQL转账储存过程_实用的银行转账存储过程和流水号生成存储过程
- Word VBA查找表格单元格的第一段
- [笔记]SD卡相关资料
- 智能客服问题相似度算法设计——第三届魔镜杯大赛第12名解决方案
- 国家地区代号与英文名对应表
- 拉普拉斯变换 性质 及常用函数变换
- php post 漏洞_帝国CMS(EmpireCMS)v7.5漏洞分析 - LEOGG
- 计算机网络导论 虚电路 X.25 帧中继 ATM
- 小沙的remake(牛客)排序+ 树状数组 + dp
- web播放FTP地址视频
- 2021年全国大学生电子设计大赛(一)赛题解析与预测
- 安卓课程设计之记账本_课程设计:基于安卓的记账本.pdf
- 方正ES2007快速开发平台 Java版本
- mos 多路模拟电子开关_模拟多路开关-MOSFET全解.ppt
热门文章
- IDEA插件系列(8):Background Image Plus设置背景图片
- 文本框取值和点击事件
- Matlab绘图------三维绘图(二)---surf函数用法
- Node.js:pm2管理进程启动npm run dev和开机自启
- android万能USB驱动的安装方法.(针对开发人员 windows)
- python爬虫:百度图片爬虫代码
- 让同事羡慕的Excel快捷键
- “年薪 25 万只是白菜价”已成过去式,AI 岗位年薪下降 8.9%,最新薪酬报告发布
- C++ 求Fibonacci(斐波那契)数
- UE C++基础 | UKismetStringLibrary 函数库解析