疑問解決(Java)

2006/1/18

ひょんなことから、Javaでプログラミングする事になりました。
疑問点を下に羅列していきます。

・開発環境
 今時といえば今時ですが、眠っているJ++で製作します。
 マイクロソフト製なのでインストールはすんなりいくと思います。
 みなさんがされるときは、今ハヤリのEclipseを使ったほうが良いと思います。

・文字列

 Javaには、文字列クラスStringがあります。
 そのため、Cのようにcharの配列を作る必要はありません。
 文字列の比較を行う際は、比較演算子(==)を使うのではなく、
 Stringクラスのequalsメソッドを使います。
 サンプル

 

// String型の変数s1,s2の宣言
// 0123を代入
String s1 = "0123";
String s2 = "0123";

// 比較
if(s1.equals(s2)){
   System.out.println("同じ");
}

・定数

 CおよびC++では、定数はプリプロセッサ(#define)を用いて定義していました。
 しかしJavaではプリプロセッサではなく、クラス内で”final static” を使って宣言します。
 また、インターフェースで宣言しても可能です。

 サンプル

 

// クラスない宣言
public class cSengen{
  public final static int TEISU = 1;
}

// インターフェース宣言
public interface iSengen {
  public int TEISU= 1;
}

・疑問
単語 解説
リフレクション リフレクションとはクラスのフィールド、メソッド、およびコンストラクタに関する情報を検出したり、その検出した情報でそのクラスを利用したりできるAPIです。
プリミティブタイプ プリミティブ型の変数は、変数用に割り当てられたメモリ領域の先頭アドレスが分かれば、CPUがメモリを読み書きできます。
要は、Integer,float,double等お馴染みの型の事です。
クラス・オブジェクトから
Fieldオブジェクト、Methodオブジェクト、
Constructorオブジェクトを得る方法
それぞれgetField,getMethod,getConstructorメソッドを使います。
getMethod,getConstructorメソッドについては、引数としてClassクラスの配列を渡す必要があります。
プリミティブタイプの場合は *.TYPEとし(例:Integer.TYPE)
クラスタイプの場合は*.classとします。(例:String.class)

 

メールはこちらに