himorogiの日記

主にプログラミングに関することなど。少々ハード(電子工作)についても。

The JavaAdapter constructor

前セクションでは Javaインタフェースと共に new 句を使って JavaAdapter を作成したが、この方法では複数のインタフェースを実装できず、非抽象(non-abstract)クラスを拡張できない。この問題を解決するには JavaAdapter コンストラクタを使う。

※ 抽象クラス:概念としてのみ存在するクラス。直接にはインスタンス化できない。

JavaAdapter コンストラクタの構文は以下の通り。

new JavaAdapter(javaIntfOrClass, [javaIntf, ..., javaIntf,] javascriptObject)

javaIntfOrClassは実装するインタフェースから拡張するクラスで、javaIntfは実装するaditionalインタフェース。 javascriptObjectはJava アダプターから呼ばれるメソッドを含む JavaScriptオブジェクト。

実際には、JavaAdapter コンストラクタで直接呼び出す必要はあまりない。殆どは、new 句を使う先の構文で十分である。