タグ付けされた質問 「interface」

インターフェースは、コンポーネントとの相互作用の指定されたポイントを指します。インターフェイスは、ハードウェアレベルとソフトウェアレベルの両方で適用できます。---これは、Java、C#、および同様の言語での単一継承の唯一の例外である、言語要素の「インターフェース」も指します。

11
Javaでプログラムによってインターフェースのすべての実装のリストを取得するにはどうすればよいですか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、スタックオーバーフローのトピックになります。 2ヶ月前に閉店しました。 この質問を改善する リフレクションなどでできますか?
81 java  interface 

5
IList <T>を返すことは、T []またはList <T>を返すことよりも悪いですか?
次のような質問への回答:List &lt;T&gt;またはIList &lt;T&gt;は、コレクションの具体的な実装を返すよりも、インターフェイスを返す方が優れていることに常に同意しているようです。しかし、私はこれに苦労しています。インターフェイスをインスタンス化することは不可能であるため、メソッドがインターフェイスを返している場合でも、実際には特定の実装を返しています。私は2つの小さなメソッドを書くことによってこれを少し実験していました: public static IList&lt;int&gt; ExposeArrayIList() { return new[] { 1, 2, 3 }; } public static IList&lt;int&gt; ExposeListIList() { return new List&lt;int&gt; { 1, 2, 3 }; } そして、私のテストプログラムでそれらを使用してください: static void Main(string[] args) { IList&lt;int&gt; arrayIList = ExposeArrayIList(); IList&lt;int&gt; listIList = ExposeListIList(); //Will give a runtime error arrayIList.Add(10); …

2
ラムダコールはどのようにインターフェイスと相互作用しますか?
以下に示すコードスニペットは機能します。ただし、なぜ機能するのかはわかりません。ラムダ関数が情報をインターフェイスに渡す方法のロジックを完全には理解していません。 制御はどこに渡されますか?コンパイラーnは、ループ内のそれぞれとmessage作成されたものをどのように理解していますか? このコードはコンパイルされ、期待される結果が得られます。どうすればいいのか分かりません。 import java.util.ArrayList; import java.util.List; public class TesterClass { public static void main(String[] args) { List&lt;String&gt; names = new ArrayList&lt;&gt;(); names.add("Akira"); names.add("Jacky"); names.add("Sarah"); names.add("Wolf"); names.forEach((n) -&gt; { SayHello hello = (message) -&gt; System.out.println("Hello " + message); hello.speak(n); }); } interface SayHello { void speak(String message); } }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.