[J2SE1.4] INDEX
■クラス定義とアクセス制御
abstract, finalキーワード
クラスのフィールド変数と、配列は自動的に初期化される
どんな値で初期化されるのか
継承に絡めたアクセス制御
protectedメンバはパッケージが異なってもサブクラスからアクセスが可能
メソッドのオーバーライド時アクセス制御を厳しくしてはいけない(コンパイルエラーになる)
■制御文、アサーションと例外処理
ifやswitch, for, while等
1.4で追加されたアサーションの基本文法、事前条件、事後条件、不変条件の説明
assert文にインクリメントなどの後の処理に影響を与えるコードを書いてはならない
publicなメソッドの引数チェックにはアサーションを用いない方が良い
finallyの振る舞い
Throwableクラス以下のクラス階層
■ガーベッジコレクション
どのタイミングでガーベッジコレクション対象になるか
ガーベッジコレクションとStringオブジェクトの組み合わせ
■Java言語の基礎
クラス宣言に関する文法的な項目
インターフェース宣言
インターフェースの実装
package
import
識別子
コマンドライン引数
基本データ型の値の範囲
■演算子とデータのメモリの割り当て
ビット演算子
シフト演算子(>>と>>>の違い)
10進数の数字を2進数に直し、ビット演算させ結果(10進数で)
論理演算(&&と&の違い、||と|の違い)
■オーバーロード、オーバーライド、実行時のデータ型
メソッドの動的結合に絡めたメソッドのオーバーロード、オーバーライドの定義
インタークラス
インナークラス
ローカルインナークラス
無名インナークラス
staticインナークラス
上記のそれぞれからのオブジェクトの作り方
■スレッド
スレッドの作り方 (java.lang.Threadを継承/java.lang.Runnableインターフェースのrun()メソッドをオーバーライド)
java.lang.Threadクラスの各メソッド(staticメソッドかどうかどんな例外を発生させるのか)
java.lang.Objectクラスのスレッド関連メソッド(notify()やwait()メソッドなど)の機能
■スレッド2
ロックフラグ
synchronizedキーワード
notify()/wait()メソッドを用いた排他制御/同期制御
■java.langパッケージ
java.langパッケージのMathクラス、Stringクラス、Integerクラスのようなラッパークラス Mathクラスのメソッドは「全てstaticメソッド」
Mathクラスのsin()やcos()などのメソッドの引数の単位は「度」ではなく「ラジアン」
「基本データ型からオブジェクトへ」「オブジェクトから基本データ型へ」の変換手順
また文字列から数値に変換するstaticメソッドparseXXX
文字列に変換するstaticメソッドtoString()
■コレクション・フレームワーク
Collection/Set/List等
Setは重複を許さないコレクション
Listは重複を許し順番を管理するコレクション
Mapは名前を使って要素を管理するコレクション
これらの違いと主なメソッドの使い方
Iteratorの使い方
ref:
http://www.stackasterisk.jp/tech/java/sjcp01_02.jsp
abstract, finalキーワード
クラスのフィールド変数と、配列は自動的に初期化される
どんな値で初期化されるのか
継承に絡めたアクセス制御
protectedメンバはパッケージが異なってもサブクラスからアクセスが可能
メソッドのオーバーライド時アクセス制御を厳しくしてはいけない(コンパイルエラーになる)
■制御文、アサーションと例外処理
ifやswitch, for, while等
1.4で追加されたアサーションの基本文法、事前条件、事後条件、不変条件の説明
assert文にインクリメントなどの後の処理に影響を与えるコードを書いてはならない
publicなメソッドの引数チェックにはアサーションを用いない方が良い
finallyの振る舞い
Throwableクラス以下のクラス階層
■ガーベッジコレクション
どのタイミングでガーベッジコレクション対象になるか
ガーベッジコレクションとStringオブジェクトの組み合わせ
■Java言語の基礎
クラス宣言に関する文法的な項目
インターフェース宣言
インターフェースの実装
package
import
識別子
コマンドライン引数
基本データ型の値の範囲
■演算子とデータのメモリの割り当て
ビット演算子
シフト演算子(>>と>>>の違い)
10進数の数字を2進数に直し、ビット演算させ結果(10進数で)
論理演算(&&と&の違い、||と|の違い)
■オーバーロード、オーバーライド、実行時のデータ型
メソッドの動的結合に絡めたメソッドのオーバーロード、オーバーライドの定義
インタークラス
インナークラス
ローカルインナークラス
無名インナークラス
staticインナークラス
上記のそれぞれからのオブジェクトの作り方
■スレッド
スレッドの作り方 (java.lang.Threadを継承/java.lang.Runnableインターフェースのrun()メソッドをオーバーライド)
java.lang.Threadクラスの各メソッド(staticメソッドかどうかどんな例外を発生させるのか)
java.lang.Objectクラスのスレッド関連メソッド(notify()やwait()メソッドなど)の機能
■スレッド2
ロックフラグ
synchronizedキーワード
notify()/wait()メソッドを用いた排他制御/同期制御
■java.langパッケージ
java.langパッケージのMathクラス、Stringクラス、Integerクラスのようなラッパークラス Mathクラスのメソッドは「全てstaticメソッド」
Mathクラスのsin()やcos()などのメソッドの引数の単位は「度」ではなく「ラジアン」
「基本データ型からオブジェクトへ」「オブジェクトから基本データ型へ」の変換手順
また文字列から数値に変換するstaticメソッドparseXXX
文字列に変換するstaticメソッドtoString()
■コレクション・フレームワーク
Collection/Set/List等
Setは重複を許さないコレクション
Listは重複を許し順番を管理するコレクション
Mapは名前を使って要素を管理するコレクション
これらの違いと主なメソッドの使い方
Iteratorの使い方
ref:
http://www.stackasterisk.jp/tech/java/sjcp01_02.jsp
