2010-01-11 57 views
0

剛讀了Spring的數據訪問,它有這樣的事情:需要澄清,這是否被認爲是內聯類或回調或其他?

jdbcTemplate.query(someSql, 
        new Object[] { 1 }, 
        new RowMapper() { 

        public Object mapRow(ResultSet rs, int rowNum) ... 
         Blah blah = new Blah(); 
         blah.setId(rs.getInt(1)); 


        } 

我指的是公共對象mapRow一部分。

這是一個內聯類,還是一個回調? (或別的東西)

回答

4

這是一個使用匿名內部類實現的回調/上調。 「內聯課程」是一些組成的術語(它來自哪裏?)。

應該出現在JDK7中的閉包的新版本應該使這種事情變得更加冗長。

該成語被稱爲Execute Around

2

這是一個基於RowMapper類/接口創建的匿名內部類的方法。

如果它被傳遞到某處並響應某種事件發生而被調用,它也可以被稱爲回調(在某些一般意義上的單詞中)。

0

我相信這將被定義爲傳遞給另一個對象的內聯類。回調類需要一些函數,它傳遞給它的原始對象可以訪問並且...回調。