1
我學習Java和最近遇到下面的一段正常工作的代碼來了,但我不明白爲什麼:的Java接口內的返回類型
public class ExecutionChain<Result> {
Parametriezed1<Result> classMethod1() {
return this::method1;
}
Parametriezed2<Result> method1() {
return this::method2;
}
Result method2(Result result) {
return result;
}
interface Parametriezed1<Result> {
Parametriezed2 method1();
}
interface Parametriezed2<Result> {
Result method2(Result result);
}
}
可能有人請解釋一下:
- 爲什麼
method1
似乎是壓倒一切Parametriezed2 method1()
沒有ExecutionChain
實施Parametriezed1
- 爲什麼它是確定調用
this::method1
儘管事實上,method1
和method2
都不會返回Parametriezed1
類型?
對於這裏使用的原理的一些文檔,我將不勝感激。
*僅供參考:*該代碼是**糟糕**。 'Parametriezed1'中'method1()'的返回類型返回一個** raw **泛型。 *非常差!* – Andreas