忍者ブログ
まにょのITメモ
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

フィールド・・・クラスの中のメソッドの外側。

メソッド・・・{ }で囲まれたブロックの中。

インスタンス変数(メンバ変数)・・メソッドの外で宣言された変数。

ローカル変数・・・メソッドの中に書く変数。そのメソッドの中でしか使えない。

クラス変数(メンバ変数)・・・クラス全体で扱う、フィールドに書く変数のこと。staticをつける。クラス名.変数名で呼び出せる。

クラスメソッド・・・staticのついたメソッド。クラスメソッドの中でインスタンス変数は使えない。クラス名.メソッド名で呼び出せる。

定数・・・変数を宣言するとき、データ型の前にfinalをつけると定数になる。書き換えることができない。

PR
switch文の条件に指定できるのは

byte型、 int型、 short型、 char型 のみ。

String型は指定できない。(ver1.4の場合)


java1.5になると enum クラスも指定できる。
int i = 0;

do {

    System.out.println( i );

}while( ++i < 3 );

do~while文は、{ }の中の処理を行ってから条件を見る。
↑の場合だと、1、2を出力したあとに、 ++iで i=3になり、
( ++i < 3 )の条件から外れるのでループが終わる。
obj1.equals(obj2)がtrueであれば、obj1.hashCode()とobj2.hashCode()は
同一になることを保障しなければいけない。

obj1.equals(obj2)がfalseでも、obj1.hashCode()とobj2.hashCode()は
一致しないとは限らない
obj1.hashCode()とobj2.hashCode()が同一になる可能性もある。

equals()メソッドをオーバーライドしてクラス定義をした場合、
hashCode()メソッドもオーバーライドする必要がある。
public class Test {
    private String str;
 
    public Test(String str) {
        this.str = str;
    }
}

引数を持つコンストラスタを自分で定義した場合、
デフォルトコンストラスタは呼び出せなくなる。

--------------------------

public class Test {
    private String str;

    public Test( ) {

    }
 
    public Test(String str) {
        this.str = str;
    }
}

引数を持つコンストラクタを定義するときに、
引数を持たないコンストラクタを明示的に書いておけば
デフォルトコンストラクタをオーバーライドするので
呼び出せるようになる。
忍者ブログ * [PR]