最終更新:ID:0p+U5ZYhtQ 2010年04月01日(木) 12:29:02履歴
Semicolonless Java はJava言語同様に強く型付けされた(strongly typed)言語ですが、java.util.Mapを多用しますし、ジェネリックに型安全にするにも限界がありますので、キャストを多用せざるを得ず、Java言語ほどの型安全性は期待できません。
Java言語に準じてプリミティブ型と参照型の区別があります。この点でSemicolonless Java は完全なオブジェクト指向言語ではありません。*1各種型の規定はJava言語に準じます。
変数(variable)とは記憶領域のことです。Java言語では7種類の変数がありますが、Semicolonless Java では一部の変数については機能制限がされています。
- ローカル変数
- クラス変数
- インスタンス変数
- 配列の構成要素
- メソッド・パラメータ
- コンストラクタ・パラメータ
- 例外ハンドラ・パラメータ
ローカル変数宣言文によって宣言された変数のこと。
for文により宣言と初期化を行います。宣言されたfor文のブロック内でしか参照できません。複数の変数を用いる場合はfor文を入れ子にして宣言を行います。Semicolonless Java 5.0以降で利用可能です。
for (int i : new int[]{0}) { }
for文により宣言と初期化を行います。宣言されたfor文のブロック内でしか参照できません。複数の変数を用いる場合はfor文を入れ子にして宣言を行います。Semicolonless Java 5.0以降で利用可能です。
Semicolonless Java ではクラス変数は参照のみ可能となっています。Java APIに規定される既存のクラス変数の参照はできますが、Semicolonless Java で新たにクラス変数を宣言することはできません。
インスタンス変数についてもJava言語ネイティブのものについては参照のみ可能です。Java APIの規定のクラスを継承することで利用可能となるフィールドが若干あります。
Semicolonless Java ではクラス宣言をextends java.util.HashMapとして行いますので、this.put()で値の格納を、this.get()で値の参照をすることができます。これがSemicolonless Java でのインスタンス変数となります。
Semicolonless Java ではクラス宣言をextends java.util.HashMapとして行いますので、this.put()で値の格納を、this.get()で値の参照をすることができます。これがSemicolonless Java でのインスタンス変数となります。
コンストラクタに渡される引数の値に名前を付けるもの。Java言語に準じます。
Semicolonless Javaではローカル変数の代わりにローカルクラスのコンストラクタ・パラメータを用いることがあります。とくにSemicolonless Java 5.0以前ではfor文によるローカル変数宣言ができないため、ローカルクラスのコンストラクタ・パラメータを多用します。
Semicolonless Javaではローカル変数の代わりにローカルクラスのコンストラクタ・パラメータを用いることがあります。とくにSemicolonless Java 5.0以前ではfor文によるローカル変数宣言ができないため、ローカルクラスのコンストラクタ・パラメータを多用します。
public class VariableTest { public static void main(final String[] args) { class Hoge { Hoge(int i) { // iをローカル変数として使用可能 if (i == 0) {} // final 宣言されていればclass Hoge外の変数を参照可能 if (args == null){} } } if (null == new Hoge(0)){} // 初期値はここで設定する } }
コメントをかく