static{}的意思.

static{}中的代码表示是在类装载的时候执行一次,且仅执行一次;

我举个例子吧:
public class Example{
static String stra = new String("hello world");
{
stra = "hello";
System.out.println("初始块被调用");
}
static{
stra = "STATIC";
System.out.println("静态初始块被调用");
}
public Example(){
stra = "Welcome To Contructor";
System.out.println("构造函数被调用");
}
public void show(){
System.out.println(stra);
}
public static void main(String [] args){
Example example = new Example();
example.show();
}
}
// 运行结果:
// 静态初始块被调用
// 初始块被调用
// 构造函数被调用
// Welcome To Constructor

但是单个{}是什么意思?去掉它就报错!

这是块初始化,块初始化在对象产生之前就完成.
如果在块初始化 前用关键字static 修饰,则表明是静态块初始化,静态初始化在类被调用时就完成.所以静态初始更优先于非静态块初始化!
用{}这个之后,就可以执行一些方法了,如果没有,只能定义属性或者方法,而且执行这个的话在类初始化的时候就会执行。至于去掉{}不能运行那是因为System.out.println()要放到方法内部执行,或者静态初始化块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值