System.out.println()とは外部リンク
instanceOf()とは
ド・モルガンの法則
三項演算子
拡張for文 →イテレーターパターンを用いる理由
オブジェクト型配列
配列のコピー
DeepコピーとShallowコピー (shallow メモリの場所を参照 deep データそのものが複製)
StringBuilderとStringBuffer
Patternクラス
Matterクラス
型の変換
コンストラクタとは 実はメソッド
static付き変数・メソッドとなしの違い
thisとは インスタンスを指定せずにメソッドやフィールドを呼ぼうとするとエラー this.フィールド名 隠蔽されたメソッド・コンストラクタのフィールドを参照する this() あるコンストラクターを他のコンストラクタから参照する
super.メソッド/super.フィールド
オーバライドの封じ方 final修飾子を作る
抽象クラスはインスタンス化できない 継承してオーバーライドして初めて作れる
型変換のルール クラス→クラス(変換先が元のスーパークラス) クラス→インターフェース クラス→配列
インターフェース→クラス インターフェース→インターフェース インターフェース→配列
配列→クラス 配列→インターフェース(closableかserializableか) 配列→配列(変換元と型が一致する場合のみ)
例外のマルチキャッチ try catch( || )
try with resource closeableを実装したtry文
変数の参照と
参照渡し、値渡し
抽象クラスとインターフェースの違い
staticイニシャライザとは? →クラスの初期化処理 →フィールドやインスタンスの内容が長い行のときや実行を優先させたときに使用する →変数の宣言をしてイニシャライザで初期化するのはOK、イニシャライザで変数を宣言して →staticイニシャライザで宣言された変数はローカル変数扱い
インスタンスイニシャライザ →コンストラクタよりも先に実装される
パッケージのアクセスレベル
インターフェースをつくる理由 →レイヤーを分けた実装が可能(それぞれレイヤー別に作れる)
Class.forName()とは
throwsとthrowの違い
独自例外の設定方法
assertとは
チェック例外 メソッドの呼び出し元に例外処理を強制する
synchronizedブロックとは
Stringの+よりもStringBuilderを用いた方がいい理由
バッファとは何か? データを一定量保存しておき、まとめて処理をさせるためのプール
オーバーヘッドとは
serializableする理由
Enummerationとは
Iteratorインターフェース →要素を順番にアクセスする hasNext() next() remove()
コンストラクタの修飾子 privateだとインスタンス化できない
グローバル変数を用いてはいけない理由
ヒープとは? インタンスが格納される
スタックとは? 参照とメソッドが格納される
インスタンスの生成過程 ①newでクラスを展開、ヒープ上にインスタンス生成 ②コンストラクタをスタックで呼び出し、インスタンスを初期化 ③最後に参照と値を返す
スタック ヒープ new〜 インスタンス① new〜
リファクタリングの意味