オブジェクト・データ・タイプ

オブジェクト・データ・タイプによって Java オブジェクトを定義することができます。 オブジェクト・データ・タイプは次のように指定します。

 * 変数 MyString は Java String オブジェクトです。
D MyString        S               O   CLASS(*JAVA
D                                          :'java.lang.String')

または以下のように指定します。

D bdcreate        PR              O   EXTPROC(*JAVA
D                                            :'java.math.BigDecimal'
D                                            :*CONSTRUCTOR)

40 桁目にはデータ・タイプ O を指定します。 キーワード・セクションには CLASS キーワードを指定して、オブジェクトのクラスであることを指定します。 環境には *JAVA を指定し、クラス名を指定します。

オブジェクトが Java コンストラクターの戻りタイプである場合は、戻されるオブジェクトのクラスがメソッドのクラスと同じであるため、CLASS キーワードは指定しません。その代わりに、環境 *JAVA、クラス名、およびプロシージャー名 *CONSTRUCTOR を指定した EXTPROC キーワードを指定します。

オブジェクトは、基底付きにはできません。また、オブジェクトはデータ構造のサブフィールドにもなれません。

オブジェクトが配列またはテーブルの場合、実行時にロードされるのでなければなりません。タイプが「オブジェクト」の実行時前とコンパイル時の配列とテーブルは許されません。

すべてのオブジェクトは、このオブジェクトがそのクラスのインスタンスと関連づけられていないことを示す *NULL に初期化されます。

オブジェクトの内容を変更するには、メソッドの呼び出しを使用する必要があります。 オブジェクトを使用して記憶域に直接アクセスすることはできません。

クラスは実行時に解決されます。 コンパイラーは、クラスが存在しているか、あるいは他のオブジェクトと互換性があるかのチェックは行ないません。