- 配列はインスタンス化するときに領域を割り当てる
- インターフェースは複数のインターフェースを拡張することが出来る
- インターフェースを実装したメソッドの戻り型はサブクラスでもよい
- オーバーライドも戻り値型をサブクラスに変更しただけでも可(Java5〜)
- スーパークラスに引数のないコンストラクタが存在しない場合は、サブクラスのデフォルトコンストラクタはコンパイルエラーになる
- staticメソッドはオーバーライドできない(再定義)
- ボックス化よりも拡大変換を優先する
go(Integer X){}
go(long X){}
int i = 3;
go(i);
go(int x, int y){}
go(byte... x){}
byte b = 5;
go(b, b);
- var-argはボックス化よりも優先される
- ラッパークラスの拡大変換は出来ない
- intからlongは○
- IntegerからLongは×
- intからLongは×
- int>Integer>Objectは○
- var-argは拡大変換とボックス化に対応する
- inta={{1,2,},{3,4}};(コンパイル通るの?)
- new long[4]
- 配列のキャストは可能
- String[] s;
- Object[] o = s;
- 初期化ブロック