posts - 82, comments - 269, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          公告

          收藏夾

          搜索

          •  

          積分與排名

          • 積分 - 270187
          • 排名 - 211

          最新評論


           class Student {
           public String email="lilao#163.com"; 
           //下面這個代碼符合語法嗎?這段代碼有實際用處嗎?
           {System.out.println("Hello, I'm in Student: "+getClass());}
           
          }


          public class Test {
           
          public static void main(String[] args){
             new Student(){

               //下面這兩行代碼在語法上面到底是什么一個說法,很不理解.
            {System.out.println("hello, I'm in test: "+getClass());}   
            {System.out.println("hello, I'm in test, my name is:"+super.email );}
            
           };
          }

          }


          也許很多人認為這個只是奇淫巧計,沒什么實際用處. 實際上不是的,這和匿名類很類似,通常我們直接通過這種方式,實現一個借口或者抽象類里面的一個方法,通過這樣寫代碼可以很簡單.

          但是這個里面不同,它不是實現什么接口,或者方法.而是直接插入了一個代碼塊,并且直接執行,有點像靜態方法塊,其實這個就是非靜態代碼塊.從這個鏈接里面,你可以看到更多. 在這只是再new對象時添加一個代碼塊,如果只是一次性使用,就很靈活.所以在測試的時候,就經常使用. (http://www.cnblogs.com/rgky/archive/2011/03/17/1986907.html)

          在Jmock里面就經常有這種寫法.比如你可以在下面的鏈接中找到很多類似的寫法.

          http://fly-hyp.iteye.com/blog/203094


          1. context.checking(new Expectations(){   
          2.             {   
          3.                 //另一種連續調用: 同個方法同樣參數,調用多次返回值各不同,聲明了調用次序   
          4.                 atLeast(1).of(dao).find(id1);   
          5.                 will(onConsecutiveCalls(   
          6.                         returnValue(user1),   
          7.                         returnValue(user2)));   
          8.             }   
          9.         });  



           


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 奉节县| 板桥市| 三门峡市| 满城县| 石楼县| 乌什县| 德化县| 平乡县| 霍山县| 自治县| 沧州市| 会泽县| 柞水县| 观塘区| 武邑县| 吕梁市| 谢通门县| 肇东市| 阳原县| 五原县| 天津市| 哈尔滨市| 专栏| 双流县| 郎溪县| 延安市| 安义县| 五寨县| 米脂县| 厦门市| 普安县| 邛崃市| 新疆| 普兰店市| 汉阴县| 中卫市| 建瓯市| 随州市| 靖远县| 临西县| 芷江|