[英]Is this method chaining in java? I don't understand some part of chaining
[英]java - I don't understand method syntax
我上課:
public abstract class Entry{
protected static <T extends Entry> List<T> all(Class<T> cls) {
blah blah
}
和它的孩子:
class Article extends Entry {
public static List<Article> all() throws SQLException {
return Entry.all(Article.class);
}
}
我不明白該方法的語法:
protected static <T extends Entry> List<T> all(Class<T> cls)
為什么我們不能只這樣做呢?:
protected static List<T> all(Class<T> cls)
protected static <T extends Entry> List<T> all(Class<T> cls)
這意味着名為all
的方法具有類型參數 T
,該參數必須是Entry
的子類型(或Entry
本身)。
Oracle Java教程中的泛型方法說明了語法及其含義。
為什么我們不能這樣做?:
protected static List<T> all(Class<T> cls)
因為編譯器不會自動用T
知道,所以您是指類型參數而不是具體類型。
請注意,對於類型參數,類型參數的名稱通常使用單個大寫字母。 但這只是一個約定。 您可以使用任何有效標識符的名稱。
如果名稱應該是類型參數,則必須這樣聲明,否則Java編譯器會認為它是具體類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.