Rhino詳細:JavaScriptからJavaインターフェースの実装とクラスの継承
白石俊平(あゆた)
2008-02-12 08:30:00
JVM上で動作するスクリプト言語に関する当連載、イントロダクションと基礎の説明をした第1回目に続いて今回が2回目です。前回は、JavaScriptインタプリタであるRhinoのインストールや対話シェルの利用法、Javaクラスの利用方法について説明しました。
今回はJavaインターフェースの実装やJavaクラスの継承など、JVM言語としてのさらに深い機能を追求していきたいと思います。
JVM言語は、Javaインターフェースの実装を行える必要がある
JVM言語でプログラミングを行うことの利点は、やはりJavaが持つ膨大なライブラリを利用できると言うことでしょう。そして、ライブラリを利用する際によく必要とされるのが「Javaインターフェースの実装」です。
その典型的な例は、スレッドの生成です。Javaでスレッドを新たに生成するための典型的な方法は、java.lang.Runnableインターフェースを実装したクラスを作り、Threadクラスのコンストラクタに渡すというものです。
// Runnableを実装したクラスを作成
class Worker implements Runnable {
public void run() {
System.out.println(Thread.currentThread().getId());
}
}
// スレッドを生成して実行
Thread t = new Thread(new Worker());
t.start();
このように、インターフェースの実装を必要とするライブラリをJavaScriptからも利用できるように、Rhinoは様々な方法を提供しています。次ページ以降で一つ一つ見ていきましょう。
- コメント(2件)
#1
さくらば
2008-02-19 23:37:43
最後のサンプルは Java SE 6 の Rhino では動作しません。Java SE 6 の JavaAdapter は Sun の実装に変更されており、単一インタフェースのみインプリメントすることができます。
#2
大野晋一
2008-02-21 15:08:21
さくらばさん、ご指摘ありがとうございます。おっしゃるとおり、Java SE 6とともに配布されるものでは無理で、最新のRhinoを使う必要がありますね。
- ホワイトペーパー

