`
l_rui_ci
  • 浏览: 40058 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

static{}的意思.

    博客分类:
  • JAVA
 
阅读更多

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()要放到方法内部执行,或者静态初始化块

分享到:
评论

相关推荐

    BatteryInfo:Battery Status Infomation 电池信息

    电池广播信息// 电池状态import static android.os.BatteryManager.EXTRA_STATUS;// 未知import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;// 充电中import static android.os.BatteryManager....

    TIA博途中FB和FC块里的IN,Inout,Out的区别以及Static和Temp变量的用法.docx

    TIA博途中FB和FC块里的IN,Inout,Out的区别以及Static和Temp变量的用法

    c#问题 谁能解释下public static implicit operator float

    c#问题 谁能解释下public static implicit operator float(currency value)中的operator是什么意思.txt

    c语言中static_用法总结

    介绍c语言中static的各种用法,可以加深对于c语言中static的本质理解认识。

    java中static作用

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念……

    C语言中static详述

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 一、Static的功能 1、隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明...

    C语言深度解剖.zip

    1.3,最名不符实的关键字----static........................................................................................12 1.3.1,修饰变量................................................................

    单片机C语言static属性和数码管显示程序

    static从英文上翻译是静态的意思,在C语言中static所起的作用也正是静态。对于局部变量而言,其作用域是局部的如某一子函数体,程序在每次执行时调用该子函数时,其声明的局部变量都会重新赋值。那如果我们想让程序...

    java中static的作用

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块

    Java 面试宝典

    13、是否可以从一个 static 方法内部发出对非 static 方法的调用? ........................ 13 14、Integer 与 int 的区别 .....................................................................................

    C语言深度解剖(完美版).pdf

    1.3,最名不符实的关键字----static........................................................................................12 1.3.1,修饰变量................................................................

    C语言深度解剖

    1.3,最名不符实的关键字----static........................................................................................12 1.3.1,修饰变量................................................................

    C语言深度解剖_word版

    1.3,最名不符实的关键字----static........................................................................................12 1.3.1,修饰变量................................................................

    C语言深度揭秘

    1.3,最名不符实的关键字----static..............................12 1.3.1,修饰变量.....................................................12 1.3.2,修饰函数...................................................

    dynamic_cast,static_cast 和 reinterpret_cast

    讨论 dynamic_cast,static_cast<> 和 reinterpret_cast<> and Runtime Type Information

Global site tag (gtag.js) - Google Analytics