需要澄清,这被认为是内联类或回调或其他什么?

时间:2010-01-11 15:36:43

标签: java spring

只是阅读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 个答案:

答案 0 :(得分:4)

这是一个使用匿名内部类实现的回调/上调。 “内联类”是一些组成的术语(它来自哪里?)。

应该出现在JDK7中的新版本的闭包应该使这种事情更加冗长。

这个成语被称为Execute Around

答案 1 :(得分:2)

这是基于RowMapper类/接口创建的匿名内部类的方法。

如果它被传递到某处并且响应于某种事件发生而被调用,它也可以被称为回调(在一般意义上的单词)。

答案 2 :(得分:1)

这是anonymous inner class实现Spring的RowMapper接口。

答案 3 :(得分:0)

我相信这将被定义为传递给另一个对象的内联类。一个回调类需要一些函数,它传递给它的原始对象可以访问并且......好吧......回调。