04/01/23 20:46
はいよ♪
001) インターフェース内で宣言された変数はpublic static finalになるので再代入できない
002) インターフェース内で宣言されたメソッドはpublic abstructになるので実装クラスではpublicメソッドでオーバーライドする
003) メソッドの宣言なのにセミコロンで終わっている場合は抽象メソッドなのでクラスにもabstructが必要
004) インタフェースは複数のインターフェースをextendsできる
005) int型以下のサイズ同士の計算結果はint型
006) 配列のインデックスはint型。byte・short・charが使われるとint型に変換される
007) defaultが常に最後に無くてもかまわない
008) system.out.print("hoge" + 5 + 8);の場合の+演算子は文字列連結。結果はhoge58
009) シフトされるビット数は常に右オペランドをその基本データ型のビット数で割った余り
010) x>>3はx*2*2*2と同じ、x<<3はx/2/2/2と同じ
011) &は両方1の時、|はどちらかが1の時、^は一方が1の時のみ1
012) &&は左がfalseなら、||は左がtrueなら残りは評価しない
013) for文の反復式が実行されるのは正常に反復が1回終わった後
014) printStackTrace()でスタックトレースを表示することができる
015) if文の{}の省略は直後の1文のみがif文。インデントなど紛らわしいものに注意
016) チェック例外はどこかで処理しないとコンパイルできない
017) オーバーライドに失敗しているメソッドはオーバーロードに成功していないかに注意
018) RuntimeExceptionは処理も宣言も必要ない
019) アサーションフラグは、基本的に左側から順に評価される
020) シフト演算子は整数型のオペランドにのみ適用される
021) voidを返すメソッドをassert文の第二文に使えない。何らかの値を返す必要がある
022) どのオーバーライドメソッドを使うかは実行時のオブジェクト型で決まる
023) どのオーバーロードメソッドを使うかはコンパイル時の参照型で決まる
024) コンストラクタは継承されない
025) デフォルトコンストラクタはクラスと同じアクセスレベル