[Java]基本26~30話/活用1~4話の内容整理


defaultメソッドと静的メソッドからデフォルトAPIへ


インタフェース構造


インタフェース
  • Java 7バージョンでは、定数および抽象メソッド
  • のみが提供されます.
  • Java 8のバージョンからdefaultメソッドと静的メソッド
  • が提供されます.
  • defaultメソッドおよび静的メソッドは、アクセス制限を省略することができるが、
  • が開示される.

    defaultメソッド


    メソッド
  • (実行ブロック)
  • バックグラウンド)各実施クラスが同じ機能を有する方法を必要とする場合、
    すべてのインプリメンテーションクラスで抽象メソッドを実装する必要がある→コード繰返し
  • 継承、コード重複問題を解決
  • インタフェース静的メソッド


    オブジェクトを作成せずに
  • を直接実行します.
  • インタフェースはオブジェクトを作成できませんが、静的メソッドはインタフェースを介して直接メソッド
  • を呼び出すしかありません.

    エラー


    プログラムは、実行中に何らかの理由で障害または異常終了が発生します.

    異常


    プログラムが中断する場合があります.これはプログラムコードが解決できるエラーです.

    コンパイルエラー


    エラー、文法、資料型チェックなどでエラーが発生しました

    ランタイムエラー

  • プログラムを実行するときに発生するエラーは、エラーの結果を出力するだけでなく、異常なプログラムが
  • を終了することを招く.
  • エラーと2つのException
  • エラー
  • は、メモリ不足やスタックオーバーフローなどの深刻なエラーです.
  • Exceptionは、適切なコードにより異常終了を防止する
  • .

    例外クラス


    Object > Throwable > Error/Exception

    Exceptionクラスのサブクラス。


    RuntimeException/CloneNotSupportException/InterruptedException/NotSuchMethodException/ClassNotFoundException/IOException
    Javaはすべてのプログラムで例外処理を行わなければなりませんか?RuntimeExceptionは例外処理を省略できます

    try~catch文

    try {
    	예외 발생 가능성이 있는 코드
    } catch(예외클래스 e) {
    	예외클래스의 예외가 발생하는 경우 실행될 코드
    } finally {
    	예외 발생 여부와 상관없이 무조건 실행
    }
  • 実行コードは1行の括弧
  • を省略することはできない.
  • try文で異常が発生した場合、catch blockに直接ジャンプするため、次のコードは
  • を実行しません.

    throws文

    void 메소드명() throws 예외클래스명{
    
    }
    例外クラスで例外処理が行われていない場合はエラーが発生します

    強制異常発生

    throw new 예외클래스();mainメソッドでthrows Exceptionを実行すると、メソッドを呼び出すJVMが処理されます.

    カスタム例外クラス

  • の例外クラスを継承して作成し、ジェネレータを介して親クラスの作成者にパラメータを渡すだけで
  • になります.
  • 通常Exceptionクラス
  • を継承する
    class 클래스명 extends 예외클래스 {
    
    }
    throw new 클래스명("예외메세지");

    java.ほうそう


    インポートなしで使用できるパッケージex.String、System、Objectクラス

    Objectクラス

  • フィールドは存在せず、メソッドのみが
  • 存在する.
  • クラス名の後に継承を指定しない場合、継承対象クラス
  • に相当する.

    Objectクラスが提供する方法


    メソッド名説明equals(Object obj)のようなオブジェクト比較hashCode()ハッシュコード戻り文字列情報戻りclone()コピーしたオブジェクト戻りfinalize()オブジェクト破棄時のgetClass()クラス情報戻り

    String

  • 基本資料型を提供せず、定義クラスは
  • を使用する.
  • 関連メソッドが必要であるため、
  • はクラスとして提供される.
    なお、
  • メソッドを使用する場合、実際の変数の値は変わらない
    →メソッドの戻り値は、新しい文字列
  • に戻る.

    Stringクラスが提供する主な方法


    メソッド名equals(Object obj)が文字列であるか、indexOf(String str)文字列のパラメータの位置を比較してサブString(int start[,int end])文字列で指定された位置を返し、trim()を返す前/後スペース削除長戻り置換(String old,String new)文字列のoldをnewに置き換えるstring split(String s)文字列をsに区切る
    equals()などのメソッドは,オブジェクトクラスのサブクラスStringクラスによって再定義される.

    equals()


    使用時比변수.equals(값)使用時は값.equals(변수)の形態で使用する.
    変数がnullになる可能性があるので、Exceptionを予防するために

    replace()使用例


    文字列のスペースを削除" asdfs daf ags".replace(" ","");

    Wrapperクラス

  • クラス
  • 、基本データ型をオブジェクト化する
  • 基本資料型→Wrapperクラスオブジェクト:Autoboxing
  • Wrapperクラスオブジェクト→基本資料型:Unboxing
  • なぜWrapperクラスを使用するのか

  • メソッド;
  • 、多形性に適用
  • メソッドがオブジェクトタイプのパラメータを使用する場合、Wrapperクラス
  • に自動的に変換されます.

    Wrapperクラスが提供する主な方法


    デフォルトのデータ型Wrapperクラスi n t e g e r l o ngfloatFlat DoublebyteBytecharCharactershortBooleanBoolean
    基本資料型と参考資料型は互いに代入できない

    java.utilパッケージ


    クラス名説明乱数生成スキャン文字入力Date日付/時間表示Calendar日付/時間表示アレイ関連処理
    DateクラスはCalendarクラスの下位バージョンです.そうごへんい

    java.テキストパッケージ


    クラス名説明DecimalFormat数値フォーマット単純なDataFormat日付/時刻フォーマットの指定
    どちらも、数値または日付タイプを文字列形式で指定して出力できます.