static静态代码块_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > static静态代码块

static静态代码块

 2013/7/26 0:43:49  黑白男孩  程序员俱乐部  我要评论(0)
  • 摘要:classStaticCode{staticStringcountry;static{country="China";System.out.println("StaticCodeisloading!!");}}publicclassTestStaticCode{static{System.out.println("TestStaticCodeisloading!!");}publicstaticvoidmain(String[]args){System.out.println
  • 标签:代码
class="static加载">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 的空引用 程序也会执行静态代码

发表评论
用户名: 匿名