RowMapper如何成为匿名类

Pra*_*ant 3 java spring

我正在阅读Spring in Action,发现像这样的人可以解释我们如何使用RowMapper作为Anonymous类,如果它是一个根据RowMapper文档的接口.

 public Employee getEmployeeById(long id) {
      return jdbcTemplate.queryForObject(
          "select id, firstname, lastname, salary " +
          "from employee where id=?",
          new RowMapper<Employee>() {
            public Employee mapRow(ResultSet rs,
                    int rowNum) throws SQLException {
              Employee employee = new Employee();
              employee.setId(rs.getLong("id"));
              employee.setFirstName(rs.getString("firstname"));

              employee.setLastName(rs.getString("lastname"));
              employee.setSalary(rs.getBigDecimal("salary"));
              return employee;
            }
          },
          id);
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*Łoś 5

匿名类new Something() {...}不是实例Something.相反,它是一个子类/实现Something.因此,从接口派生匿名类是完全有效和有用的.