`
黑白男孩
  • 浏览: 10638 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

static静态代码块

    博客分类:
  • java
阅读更多
class StaticCode
{
    static String country;
    static
    {
        country="China"; 
        System.out.println("StaticCode is loading !!");
    }
   
}
public class TestStaticCode
{
    static
    {
        System.out.println("TestStaticCode is loading!!");
    }
   
    public static void main(String[] args)
    {
        System.out.println("begin main method !!");
        new StaticCode();
        new StaticCode();
    }
}

 

 

 输出结果为

TestStaticCode is loading!!

begin main method!!

StaticCode is loading!!
==================================================================================

程序要进入main方法 首先要加载TestStaticCode这个类

从而要执行定义在这个类的静态代码段

输出 TestStaticCode is loading!!

当程序运行到 第一次出现StaticCode时 就会加载StaticCode这个类从而执行这个类的静态代码段

由于静态代码段只在类第一次加载时才执行 也就是第一个 new StaticCode(); 时才执行

后面不论你出现了多少个StaticCode都不会再次执行

而且静态代码段
不依赖于类的实例化 只要你的程序执行过程中第一次碰到了StaticCode就会马上执行静态代码

不信你把两个new语句去掉 换成

StaticCode s = null;

声明一个StaticCode 的空引用 程序也会执行静态代码

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics