构造函数调用中的另一个方法定义?

Joe*_*Joe 0 java constructor

我正在查看Hive Opensource Code并遇到一个奇怪的构造函数调用:

public ResultSet getUDTs(String catalog, String schemaPattern,
  String typeNamePattern, int[] types) throws SQLException {

  return new HiveMetaDataResultSet(
        Arrays.asList("TYPE_CAT", "TYPE_SCHEM", "TYPE_NAME", "CLASS_NAME", "DATA_TYPE"
                , "REMARKS", "BASE_TYPE")
        , Arrays.asList("STRING", "STRING", "STRING", "STRING", "INT", "STRING", "INT")
        , null) {

    public boolean next() throws SQLException {
      return false;
  }
};
Run Code Online (Sandbox Code Playgroud)

}

HiveMetaDataResultSet的构造函数定义是将三个List作为参数.

我的问题是:

public boolean next() throws SQLException {
  return false;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下做部分吗?它不是一个匿名调用作为参数,因为3个参数由它自己完成,而这个参数在构造函数调用的主体中.

zw3*_*324 6

此方法返回匿名内部类的实例.因此,这是方法中的类定义,以及该类中的方法定义.

从此方法返回的对象是一个类的实例,该类在方法返回的地方定义,并且该类是其子类HiveMetaDataResultSet,并next()覆盖在next那里定义的实现.