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を使う必要がありますね。
  • 新着記事
  • 特集
  • ブログ