class InitialOrderTest 

public static String staticField = "静态变量"; 
public String field = "变量";  static //下边这段代码怪吧?没有方法名,没有返回类型。原因何在??

System.out.println(staticField); 
System.out.println("静态初始化块"); 

    { 
System.out.println(field); 
System.out.println("初始化块"); 
} // 构造器 
public InitialOrderTest() { 
System.out.println("构造器"); 
} public static void main(String[] args) { 
new InitialOrderTest(); 


解决方案 »

  1.   

    这是静态语句块。是由static和语句块组合而成的。一般用于初始化静态变量。
      

  2.   

    这不是method,是block,
    楼上都解释清楚了.
    method一定有返回类型(可能是void),一定有名字,可能有参数.
      

  3.   

    本帖最后由 java2000_net 于 2008-09-27 09:34:11 编辑
      

  4.   

    本帖最后由 java2000_net 于 2008-09-27 09:35:13 编辑
      

  5.   

    本帖最后由 java2000_net 于 2008-09-27 09:38:14 编辑
      

  6.   

     static //下边这段代码怪吧?没有方法名,没有返回类型。原因何在??
        { 
            System.out.println(staticField); 
            System.out.println("静态初始化块"); 
        }   System.out.println("静态初始化块"); 不是写的很清楚啦....
      

  7.   

    static{} 部分是靜態塊。無論當前類被實例化多少次,只創建一次static區域。這個區域是共享的。所以處理static變量和static塊的時候一定要有清醒的認識。
      

  8.   

    每个人以前都是新手,不要嘲笑楼主。还有,楼主,你应该系统的看一下书,大多数讲Java基础的书里都应该讲到过这个东西。
      

  9.   

    static{}中包含的是静态块,在java基础教程里面有提到的。
    建议楼主去看看java编程思想——Thinking in Java(3rd),这个版本的感觉还不错,里面讲的很基础的。
    另外,对待求知者,大家要学会尊重!
    强烈鄙视嘲笑别人的人。再牛的人,也有不了解简单问题的时候。
      

  10.   

    有的书上称为“静态初始化器”就是由static引导的一对大括号括起来的语句组。作用与类的构造函数类似。用来完成初始化的。不过他是对类自身进行初始化的,而构造函数是对每个新创建对象进行初始化的。在类加载到内存是由系统自动运行。
      

  11.   

      static block,在类加载的时候加载,而且是只加载一次;
      在任何地方都能使用静态块,而且里面声明的变量只在块里面起作用;不影响类的其他变量;
      

  12.   

    ??
    楼主学多久的java了啊???
      

  13.   

    樓主應該看多一點書再發問,而且真系很奇怪,明明static塊里的代碼都寫明自己是什麼了...不過嘲笑是不應該的
      

  14.   

    静态代码块,加载类时执行,只执行一次,执行的顺序在类的构造方法之前。
    建议看一看java编程思想,里面有详细介绍代码的运行顺序
      

  15.   

    顺便补充一下,这种方法不仅可以出现在类的内部。好像方法的内部也有相似的代码块。
    这种static代码块是在类的构造函数之前被调用的!
      

  16.   


    装 B吧你Thinking in Java是讲很基础的!!!!!!!!!!!!!!!!?
    Thinking in Java初学者适合看吗?装吧你
    大部分基础书都没介绍静态代码块,说毛的看看基础书。1:  继承情况下,首先是从顶层父类的静态变量和代码块开始执行,依次向下。同一个类中,执行的顺序是依照静态变量和静态代码在类中的编码顺序执行,变量和代码块无任何优先级之分。全部继承树中的类静态变量和代码块都初始化完毕后,开始从顶层父类执行非静态的类变量和类代码块初始化,执行顺序同静态,然后紧接着是执行构造函数,完毕后才向下,执行子类的类变量、代码块和构造函数。
     
    2:非静态内部类中不能定义类静态代码块和非final的类静态变量;静态内部类,可以声明非final的静态变量和静态代码块。3:因为类加载存在2种方式:预加载(pre-loading)和按需加载(load-on-demand),所以类中的静态变量和代码块何时执行也受这2种方式的直接影响,不加载时不可能会被执行。 4:隐式(implicit)和显式类加载(explicit):显式加载中的forName(String name, boolean initialize,ClassLoader loader)方法,当initialize=true时,会在执行类加载后立刻运行静态代码和变量。当initialize=false时,类加载后不会立即初始化静态代码和变量,直到第一次new 或者通过反射取值 的时候才会初始化静态代码块和变量。使用loadclass方法加载类时,同initialize=false时的forname。 
      

  17.   

    其实 CORE JAVA里提到了。HOHO 表对19楼这么激动嘛 。
      

  18.   

    我想知道你入门的时候看的什么书,《Java大学讲义》之类的?
      

  19.   

    静态代码块,运行时加载一次
    jdbc连接数据库时经常用
      

  20.   

    我也很想知道你看的是什么书?,《Java大学讲义》没看过,貌似你很牛逼,
    LZ拿分问大家,想拿分就回答问题,回答不了,也别拿让LZ看书当挡箭牌,我就不信你出娘胎就能看什么Think in java,
    我实在很不明白,一些人怎么那么能装!!!初学者,问问题时,就已经说的很明白,他们是初学者,大学里的选的教材原价很少超过40元RMB的,这样的书根本就不会介绍到静态代码块,大学里开一门编程语言课很少能超过60学时,很多问题他们不懂才来问大家,你不给他们解释这些问题的答案就算了,还拿什么Think in java这类有学习Java 1年时间以上看的才有收获的熟记推荐给初学者,难道只有这样才能表明自己很牛逼吗?
    牛逼人是那些能给LZ很多帮助的,是别人浏览这个网页时,看到答案很赞许,而不是那些不给答案,讽刺初学者,夜郎自大的人。
      

  21.   

    谢谢大家,
    说实话,大家都是为JAVA活着。
    我只想说:
    我很笨,但我会努力的。不放弃。
      

  22.   

    楼主问的问题书上有,我为什么还要费事再敲一遍?我当然不是出娘胎就看Thinking in Java,它又不是看图识字,但是Thinging in Java也不是要什么很高的基础才能看的书吧?至于说大学选教材如何如何,那是学校的问题,你去跟教育界的人讨论,难道学校只发两张纸,你也就永远只看这两张纸么?
      

  23.   

    大家別嘈,聞道有先後術業有專攻,水平有高低專長各不同,每個人的修業之路不盡相同,可能有人一出世就會看thinking in java,對這種人我們也奈何不了,對於論壇上的交流,大家文明表達自己意見便可
      

  24.   

    呵呵,书上东西太多了,最好你也别再csdn问问题,因为你问这些问题大部分书上都是有的,自己找些书看看不就得了。
    照你的逻辑,别人无需在你问题下写出答案,书上有的东西,你不愿意敲,别人也不愿意敲。
    你能告诉我你编程的入门书和学习Java入门书吗?呵呵,为啥有些人总爱提Think in Java这书呢,很像个下贱的推广员啊。
    我说大学教材的事只是表明,一个高中生升入大学,学了几十年的10进制的数学和人类语言,忽然学编程语言,他是多么无措,听课就像听天书,什么Think in Java,什么经典书,谁听过!我当然不是和你讨论教育体制问题,也没这个必要,我就是看不贯那些,看见对提简单问题嘲笑者并说看什么Think in Java书,对复杂不会的装B者。
      

  25.   

    第一,我没有嘲笑楼主,麻烦你回头去看看我在这里跟的第一个帖子写的什么
    第二,这个问题我认为在书上很容易找到,至于“我问的问题大部分书上有”,这点你是从哪看出来的,麻烦你告诉我
    第三,我们提Think in Java是因为它确实不错,如果你写出一本好书我们也会经常提你的大作,我想知道高贵的您写过什么大作可以让我们这些下贱的推广员推广?
    第四,我不觉得大学的编程语言听起来会像天书,如果你这么觉得,要么是你们老师讲课有问题,要么是你有问题,不要把你自己的经验往每一个人身上套