これはばかげた質問のように感じますが、メソッドがどこで宣言されているのか理解できないので、私はイライラします。私のコードでは、次のようなことができます(明らかに、これは少し疑似コードです)
ResultSet rs = DB.getConnection.sendSQL(select * from [table])
SQL を送信すると「結果セット」が返されることを理解しています。「ResultSet」は単なるインターフェイスですが、返されたオブジェクトはそのインターフェイスを実装しています。
私の質問は、返されたオブジェクトがそのインターフェイスをどのように実装するかです。私が読んだことから、インターフェースは完全な関数ではなく、メソッドシグネチャのみを定義できます。
では、関数はどこに定義されているのでしょうか? 明らかに ResultSet インターフェースにはありません! これはデータベース ドライバーの仕事であるという理解で正しいでしょうか? (私は自分の質問に答えたばかりかもしれません)。
完全に機能するメソッドを使用してインターフェイスを作成できますか? 実装クラスはそのメソッドを自動的に実装しますか、それとも「スーパー」などの呼び出しで上書きするだけですか?
SO でこの他の質問を見つけました 。接続、ステートメントなどの事前定義されたインターフェイスの抽象メソッドは、本体なしでどのようにタスクを実行しますか? これは完全な複製ですが、よりよく定式化されています。そして素晴らしい答え