gpt4 book ai didi

java - 方法返回类型包含子类定义

转载 作者:行者123 更新时间:2023-11-30 03:55:06 25 4
gpt4 key购买 nike

我想出了一个使用如下语法的代码:

public <A extends B> double[][] foo(C arg) {
.... }

我在查看它时遇到了几个问题。

a) foo(C arg) 的返回类型是 <A extends B> double[][] ?这是什么意思?我会理解像 double[][] 这样的返回类型例如,但我无法确定前一个修饰符(也许?) <A extends B> 的作用是什么?是吗?

b) 为什么返回类型中有子类声明?由于 A 是 B 的子类,我们在哪里重写或添加任何方法/成员等?对我来说,它似乎是一个子类,只包含与基类 A 相同的方法/成员。不是吗?那么写起来有什么区别public <A> double[][] foo(C arg)

c) 最后,我认为 <> 与 Java 泛型有关,但即便如此,我也看到过像 D<T> 这样的声明。其中 T 用于参数化原始类型 D 。在这里,我尝试删除 <> (因为我不明白它们代表什么),但编译器提示。

最佳答案

  1. 返回类型为double[][]<A extends B>部分是 generic method 的参数化
  2. restriction extends B意味着只有泛型类型 A扩展或实际实现B允许在此方法中使用。
  3. 无法回答您的第三个问题,因为它需要方法主体中的代码和更多上下文。

关于java - 方法返回类型包含子类定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23425328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com