カンニングシート4:参照型変数と配列、列挙型

Pocket

カンニングシート4:参照型変数と配列

 

試験前にさっくり読み返したら多分点数取れる!…はず。

 

●newでインスタンス生成

インスタンスを利用するためには参照型変数に代入する。

参照変数に代入せず、直接利用することもできる。

●連結、比較

・+での文字列連結時のtoString()が自動発動する条件は左右どちらかが文字列の場合のみ。

・参照型同士の比較(==、equals)はアドレス比較。データそのものの比較ではない。

 但し、Stringクラスのequalsメソッドはオーバーライドされているため、

 アドレスではなくデータそのものが比較される。

●Stringクラス

・newは常に新しいインスタンスを作成。

・=代入は文字列リテラルを専用のメモリ領域に格納。

 同じ文字列リテラルなら、別インスタンスとならない(同じアドレスが格納。)

 メモリ効率は=代入のほうがよい。

●配列

・[]は変数名の前後どちらでも良い(int []a; int[] a;)

 int [] a, b;でa、bどちらも配列化。

・newで作成。配列数は配列作成時から変更不可能。作成した時点で初期値が設定される。(メンバ変数の初期値同様)

●二次元配列

・int a[][]; int []a[]; int [][]a; int[] a[];

●ジャギー配列

・int a[][] = {{1}, {1,2}}

●参照型の暗黙の型変換

・配列→クラス

・変換は可能。但し、明示的なキャストが必要。

 int a = {1}; Object b = (int[])a;

・クラス→インターフェイス

・継承元への変換は可能???

●列挙型

・メソッド内で定義不可。

・オブジェクトを継承していると考えて良い。メソッドを保持。compareTo、values、valueOf等。

 通常のクラスと同様の使い方が可能。

・enumを定義する際にカンマ、セミコロンで終了するのはOK。

 enum{a,b,c; }はOK。enum{a,b,c, }はOK。

●メソッド引数

・基本データ型と参照型の違いに注意

●可変長引数

・XXX(String… args)

 複数可変長は定義できない。(不定になる)

 改変長は最後に定義しないとコンパイルエラー(不定になる)

徹底攻略Oracle認定JavaプログラマSE 5/6教科書 (ITプロ/ITエンジニアのための徹底攻略)
徹底攻略Oracle認定JavaプログラマSE 5/6教科書 (ITプロ/ITエンジニアのための徹底攻略)

徹底攻略Oracle認定JavaプログラマSE 6問題集 [CX-310-065]対応 (ITプロ/ITエンジニアのための徹底攻略)
徹底攻略Oracle認定JavaプログラマSE 6問題集 [CX-310-065]対応 (ITプロ/ITエンジニアのための徹底攻略)

タイトルとURLをコピーしました