我想出了一个使用语法像这样的代码:
public <A extends B> double[][] foo(C arg) {
.... }
我通过观察它得到了几个问题。
一个)的返回类型foo(C arg)
是<A extends B> double[][]
这是什么意思? 我所理解的返回类型像double[][]
的例子,但我不能确定什么是以前的修改(也许?) <A extends B>
呢?
乙)为什么有一个返回类型内的子类的声明? 由于A是我们处在什么位置覆盖或添加任何方法/成员等B的子类? 对我来说,似乎它是一个包含基类A的一样的方法/成员的子类是不是这样呢? 那么,有没有书面授权任何区别public <A> double[][] foo(C arg)
C)最后,我假设<>具有Java泛型做但即使如此,我看到声明像D<T>
其中T是用来参数化的原始型D
。 在这里,我试图删除<>(因为我不明白他们代表的是什么),但编译器抱怨。