・文字列と数値の計算式
数値+文字列はすべても文字列結合になる。
System.out.println("str" + 1 + 2);
・boolean型の変数の初期化には一部計算式を代入できる
boolean型の変数の初期化はtrue,falseであるが戻り値がbooleanになる
論理式であれば代入可能
boolean a = (1 < 4); //trueで初期化される。
・「値渡し」と「参照渡し」
基本データ型をメソッドに引数を渡した場合、その値のコピーをメソッドに渡します
これを値渡しという。
参照型の場合、メソッドに渡す時はその値の「参照」を渡します
これを参照渡しという。
基本データ型=値のコピー 参照型=参照情報
・2次元配列のアクセスの仕方
二次元配列にアクセスする時は配列名[index][index]とする。
・arraylistクラスのindexOfメソッド
引数で渡した値が最初に見つかった場所の添え字番号を返すメソッド
・配列のarraycopyメソッド
(コピー元配列,添え字,コピー先配列,添え字,数コピーさせる配列の要素の数)
・Stringbuilderクラスの初期化
通常は文字列をいれるとその値で初期化しますが
数値を渡してあげるとその値を容量とした初期化がされます
・for文の省略
for文の省略できるものは処理を示す{ }を省略可
※繰り返し対象は一行のみ
式1、式2、式3である。
※省略はできるが、可読性も下がるうえ無限ループになるので基本はしない。
・do,while文で{}をつけないとエラーになる。
do,while文で{}をつけないとエラーになります。
また{}は省略して一行のみループさせることもできますが
do句の後に二行書いてしまうとコンパイルエラーになります。
・参照型変数の代入について
参照先を保持っした変数を他の変数に代入した場合
代入先は代入元と同じオブジェクトを参照します。
例
lassA obj = new classA();
classB obj2 = new classB();
obj = obj2
とした場合。objはobj2と同じオブジェクトを参照するということになる
オブジェクトを参照してる変数を他に代入すると
代入先も同じオブジェクトを指すということになる。
・オーバーロードの条件
引数の型、数、並びが違うことがオーバーロードの条件です。
戻り値は関係ありません。
オーバーライドは
・修飾子が元より広いか同等
・メソッド名と引数リストが同じ
・カプセル化のメリット
カプセル化は不変オブジェクトを設計できるのと
オブジェクトが保持するデータを保護できる
・宣言されていないメソッドを参照するとコンパイルエラー
・変数のスコープの注意点
変数のスコープは宣言順も影響するので注意
→int a = b; //b変数の宣言より代入が先のためエラー
int b;
・finalのクラスのサブクラス生成不可
ラッパークラスおよび、Systemクラスはfinalなクラスなので
サブクラスを生成できない。
・抽象メソッドのオーバーライド義務
サブクラスとないっている抽象クラスは
抽象メソッドをオーバーライドしなくてもよい。
・instanceof演算子
「◯◯クラスのインスタンスか?」
「◯◯クラスのサブクラスのインスタンスか?」
「◯◯インターフェース実装したクラスのインスタンスか?」
「◯◯インターフェース実装したサブクラスのインスタンスか?」
・コンストラクタのprivate
スーパークラスのコンストラクタをpribate指定してしまうと
サブクラスがインスタンス化されたときに飛び出せなくなるので
エラーになります。
0コメント