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

Java 构造函数调用中的另一个方法定义?,java,constructor,Java,Constructor,我在查看Hive开源代码时遇到了一个奇怪的构造函数调用: public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException { return new HiveMetaDataResultSet( Arrays.asList("TYPE_CAT", "TYPE_SCHEM", "TYPE_NAME",

我在查看Hive开源代码时遇到了一个奇怪的构造函数调用:

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;
  }
};
}

HiveMetaDataResultSet的构造函数定义是将三个列表作为参数

我的问题是:

public boolean next() throws SQLException {
  return false;
}

在这种情况下你应该怎么做?它不是一个作为参数的匿名调用,因为这3个参数都是自己完成的,这一个位于构造函数调用的主体中。

此方法返回一个实例。因此,这是方法中的类定义,也是该类中的方法定义


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

此方法返回的实例。因此,这是方法中的类定义,也是该类中的方法定义


从该方法返回的对象是一个类的实例,该类是在该方法返回的地方定义的,该类是
HiveMetaDataResultSet
的子类,其中
next()
覆盖到此处定义的
next
实现。

感谢您的帮助!我现在明白了。HiveMetaDataResultSet类是一个抽象类,因此在实例化它时,需要提供空方法签名的实际定义。感谢您的帮助!我现在明白了。HiveMetaDataResultSet类是一个抽象类,因此在实例化它时,需要提供空方法签名的实际定义。