第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么要在方法體內(nèi)定義類?

為什么要在方法體內(nèi)定義類?

慕虎7371278 2019-03-14 14:15:28
 @Override    public void execute(final String sql) throws DataAccessException {        if (logger.isDebugEnabled()) {            logger.debug("Executing SQL statement [" + sql + "]");        }        class ExecuteStatementCallback implements StatementCallback<Object>, SqlProvider {            @Override            public Object doInStatement(Statement stmt) throws SQLException {                stmt.execute(sql);                return null;            }            @Override            public String getSql() {                return sql;            }        }        execute(new ExecuteStatementCallback());    }以上這段代碼來自JdbcTemplate的代碼,請問為什么要在execute方法內(nèi)定義類ExecuteStatementCallback呢?這樣做有什么好處?
查看完整描述

3 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

這樣做只是一種良好的封裝吧. 首先 ExecuteStatementCallback 主要作為一個回調(diào), 它本身的代碼量比較小, 如果作為單獨的一個類的話, 對工程管理來說也不太合適; 第二, 因為這樣的回調(diào)類和業(yè)務(wù)代碼的關(guān)聯(lián)很大, 并且通常是只在一個地方使用, 因此可以在方法中定義這樣的類, 進而可以實現(xiàn)良好的封裝.

一般這樣的情況下, 就如上面朋友所說的, 使用匿名的內(nèi)部類比較好, 這樣代碼會更加簡潔一些.


查看完整回答
反對 回復 2019-04-25
?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

參考new Thread(new Runable())


查看完整回答
反對 回復 2019-04-25
  • 3 回答
  • 0 關(guān)注
  • 491 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號