What happened my test ?
Java Memo
キレイだなー(過去)
インターフェース
- クラスの「型」の定義を行うために用いる
- クラスへの定義はextendsキーワードではなくimplementsキーワードを用いる
- メソッドは全てabstract
- クラスはインターフェースを「継承する」とは表現せず、「実装する」と表現する
インターフェースを用いる利点
- メソッドの中身は実装クラス側に委任
- インターフェースは多重継承が可能
- ひとつのクラスは複数のインテーフェースを実装できる(多重実装)
インターフェースの定義
- classキーワードの代わりにinterfaceを指定する
- インターフェース内でのメソッドは暗黙的にabstract,publicとなる
- インターフェース内のフィールドは暗黙的にpublic,final,staticとなる
インターフェスによる型変換
- 型に関して、抽象クラスと同様、異なったクラスを同一の型として構成でき、集約的な処理が可能になる
インターフェース内の変数定義
- 暗黙のうちにpublic,static,finalである
- 定数であり初期化されなくてはならない
なぜJavaにインターフェースがあるの?
- 一度書けばどこでも動く
- メソッドがどこでも動くように(DBやGUIなどで)
例外
例外処理とは
- 例外を発生させること、例外を他に渡すことを、「スローする」と表現する
- スローされた例外を受け止めることを、「キャッチする」と表現する。
例外クラスの階層構造
- Throwableクラス
- 全ての例外クラスのスーパークラス
- Errorクラス
- 実行環境内部で発生したハードウェア寄りのエラー
- 例外処理は行わない
- Exceptionクラス
- プログラム内部で発生した種々のエラー
- 例外処理が必須
- RuntimeExceptionクラス
- プログラム実行時に発生するエラー
- 例外処理は任意
例外処理
- 例外発生時の後始末処理や対処のことを例外処理という
- 2種類の例外処理
- try-catch文を使用する
- throws句を使用する
try-catch文を使用した例外処理
- try-catch文は例外処理を行うJava言語の文法
- 下に行くほどスーパークラスになる
finally節
- try-catch文の最後にfinally節を任意で記述することができる
- finally節は例外が発生してもしなくても必ず実行される
System.exit() メソッド
- catch節の例外処理コードの最後に、System.exit()メソッドを記述するといい
throws句を使用した例外処理
- throw句では発生する可能性のある例外を宣言する
ユーザが定義する例外
- JavaAPIで用意している例外クラス以外に、ユーザは独自の例外クラスを定義出来る
- アプリケーション固有の例外クラスが必要な場合は、ユーザは例外クラスを作成する
- Exceptionクラスのサブクラスとするのが一般的
パッケージ
大量のクラスを扱う際の命名規則の問題
- 名前が他のクラスと重複してはならない
パッケージ
- パッケージとはクラスをグループ化して管理すること
- パッケージ化の特徴
- 階層化して管理
- 完全修飾名で呼ぶ
- クラスファイルを置くディレクトリ
- アクセスの制御が可能
packageキーワード
- パッケージを行うにはpackageキーワードを使用
- package宣言の注意点
- ファイルの先頭に記述
- パッケージ名は.(ドット)で区切る
- クラスの外に定義する
パッケージ化されたクラスの利用方法
- 同一パッケージ内のクラスは単純クラス名で呼び出し可能
- 同一パッケージ外のクラスは単純クラス名だけでは使用できない
- 同一パッケージ外のクラスを呼び出す方法
- 完全修飾名
- importキーワードを使用する
アクセス制御
- アクセス制御とは、作成したクラスやインターフェース、またメソッドやフィールドの使用範囲を定義するためのセキュリテイ機能
- アクセス制御はパッケージや継承関係と密接な関係
- アクセス修飾子の種類
public修飾子
- public修飾子の場合、どのパッケージのどのクラスからもアクセス可能
失敗からどう立ち直るの?
1 Corinthians 10:13 New International Version (NIV)
13 No temptation[a] has overtaken you except what is common to mankind. And God is faithful; he will not let you be tempted[b] beyond what you can bear. But when you are tempted,[c] he will also provide a way out so that you can endure it.