java - 配列 - <T はドローアブル & ドロワートグルを拡張して始まるコンストラクターの種類は何ですか?



ジェネリクス java キャスト (2)

この質問には既に回答があります:

<T extends Drawable & DrawerToggle> ActionBarDrawerToggle(
        Activity activity, 
        Toolbar toolbar,
        DrawerLayout drawerLayout, 
        T slider,
        @StringRes int openDrawerContentDescRes,
        @StringRes int closeDrawerContentDescRes) {

ActionBarDrawerToggle.javaクラスのソースコードをブラウズ中に、このコンストラクタがアクセス指定子なしで宣言されています。 むしろ、その宣言は

<T extends Drawable & DrawerToggle>

説明してください、それは本当に何を意味しますか?

https://code.i-harness.com


Tはジェネリック型宣言で、引き数の1つであるslider型として使用されます。

<T extends Drawable & DrawerToggle >は、 TDrawerToggleクラスとDrawerToggleクラス/インタフェースの両方を拡張/実装しなければならないことを意味します。

アクセス指定子は必須ではありません。 欠けている場合は、クラス/メソッドが同じパッケージ内のクラスからのみアクセス可能であることを意味します。


このブロックは、 sliderパラメータの型を指定します( sliderパラメータの値はdrawableおよびdrawabletoggleクラス(またはインタフェース)を拡張する必要があります)。 詳細はジェネリックスを検索してください。





constructor