簡體   English   中英

在 Class 聲明處定義 Java 通用類型

[英]Defining Java Generic Type at Class Declaration

我有

public class SongListView<T>  extends ListView<T>

如何指定通用類型 T 是歌曲 Object 而不是其他 object?

public class SongListView extends ListView<Song> {...}

您只能添加到ListView歌曲實例(不能添加Song.class的繼承人)

ListView<Song> songListView = new SongListView();

您也不能將SongListView分配給Song.class的其他繼承人的通用參考

class LongSong extends Song {...}
ListView<LongSong> songListView = new SongListView(); //Incompatible types.
public class SongListView<T extends Song> extends ListView<T> {
    ...
    private T sampleSong = ...;
    ...
}

泛型類型變量在您的 class 名稱SongListView<T extends Song>上定義和限制,您在放置基本 class Song的所有地方都使用類型T

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM