2016-04-28 12 views
0

いくつかのコードを実行していますが、いくつかのインターフェイスを追加していますので、すべてのクラスが同じ基本的なガイドラインに従っていることを確認できます。
私はUni < T>と呼ばれるインターフェイスを持っていますが、これには1つの汎用引数があります。
私はUniを実装するクラスを持っているといいます< Foo>そのクラスにこのメソッドを持たせたいとしますpublic foo getFoo(){};
このメソッドをインターフェイスに追加する方法はありますか?私は私のインターフェースでこれと同じように何かできるのであれば、public T getT();と2番目のTがgeneric引数に置き換えられることを好むだろう。一般的な引数に名前を付けるメソッド

いくつかのクラスでUniの複数のバージョンを実装したいので、私は単に "get"と呼ぶことはできません。 public Example implements Uni<Foo1>,Uni<Foo2>

私は関数に「Foo」または「Class」という引数を渡すことができますが、私はここで尋ねると思っていました。 (もし私がこれをしたら、命名対流を台無しにするでしょう)

+0

*「Uniの複数のバージョンを実装するクラスがいくつかあります」*とにかく不可能です。 – Radiodef

答えて

1

いいえ、できません。また、Javaのジェネリックが消去(コンパイラによって削除)されて実装されるため、複数のバージョンを1つのクラスに実装することもできません。

0

のJavaとのことはできませんが、あなたがこの

public interface example<T> { 
    public void yourmethod(T object); 
} 

ようにそれを行うことができますあなたが望むジェネリック型に応じたインターフェースを作ります。