***

4788 ワード

よくある例外
1、IndexOutOfBoundException配列アウト(オフ)のエラー
2、Null PointerException空ポインタ異常
3、ClassNotFoundExceptionで指定されたクラスは存在しません
4、IllegalArgumentExceptionメソッドのパラメータエラー
5、ArithmeticException数学演算異常
8種類の基本データ型
byte
short(短い整数)
int(整数)
long(長整数)
フロート
ダブル
char
boolean(ブール値)
 
オブジェクト向けプログラミング
参照データ型
クラス
インタフェース
はいれつ
参照データ型と基本データ型の同じ点
1、変数を作成したり、値を割り当てたり、使用したりすることができます.
2、自分が同じアドレスである
参照データ型と基本データ型の違い
1、基本型変数の値は、アドレスに対応する値です.データ型の値を参照するか、アドレスを参照するかは、「2次ホップ」でインスタンスを見つける必要があります.
2、引用データ型はJavaの一種の内部タイプであり、すべてのカスタムタイプと配列参照の総称であり、特にあるタイプを指すわけではない
参照のデフォルト値null
1、nullは参照タイプのデフォルト値です
2、nullは空を表し、存在しません.空と読めます
3、参照タイプの配列が作成され、初期値はすべて空です
 
アクセス修飾子
  • default(デフォルト、何も書かない):同じパッケージに表示され、修飾子は使用されません.使用オブジェクト:クラス、インタフェース、変数、メソッド.
  • private:同じクラスで表示されます.≪オブジェクトの使用|Use Objects|emdw≫:変数、メソッド.注意:クラス(外部クラス)
  • は修飾できません.
  • public:すべてのクラスに表示されます.使用オブジェクト:クラス、インタフェース、変数、メソッド
  • protected:同じパッケージ内のクラスとすべてのサブクラスに表示されます.≪オブジェクトの使用|Use Objects|emdw≫:変数、メソッド.注意:クラス(外部クラス)は修飾できません.

  • 修飾子
    現在のクラス
    同じパッケージ内
    子孫(同じパッケージ)
    子孫クラス(異なるパッケージ)
    その他のパッケージpublic
    Y
    Y
    Y
    Y
    Y protected
    Y
    Y
    Y
    Y/N(説明)
    N default
    Y
    Y
    Y
    N
    N private
    Y
    N
    N
    N
    N
    メソッドの署名とリロード
    メソッドリロード
    1、メソッド署名:メソッド名+順次パラメータタイプ.戻り値はメソッド署名に属しません.メソッド署名は、1つのクラスの一意の識別2であり、同じクラスのメソッドは再名できますが、署名は繰り返してはいけません.1つのクラスで名前が同じで署名が異なるメソッドを定義すると、メソッドのリロードと呼ばれます.
     
    オーバーライド(Override)
                    --  

    クラスは親を継承しますが、親のメソッドが書き換えられているため、親から取得したメソッドですが、書き換え後は親メソッドとは異なるため、上書き(つまり、子メソッドが親メソッドを上書き)と呼ばれます.
    リロードとオーバーライド
    区別する
    オーバーライド(Override)
    じゅうか
    インプリメンテーション
    親メソッドへの子の書き換え
    同じクラスに複数の同名メソッドを作成
    パラメータ
    親と同じ名前の同参
    他の方法と同名が違う
    戻る
    子と親の戻りタイプを一致させるには
    この要件はありません
    アクセス権
    子クラスは親クラスのprivateメソッドを上書きできません
    この要件はありません
     
    親メソッドの1つは、子クラスで1回のみ上書きできます.
    リロードはパラメータが異なる限り複数回可能です
     
    上書きは親メソッドの書き換えです
    同類の方法でもリロードできます
     
    子クラスが親よりも少ない例外を投げ出すように書き換える
    この要件はありません
    スタティツクメソッド
    1、静的メソッド(クラスメソッドとも呼ばれる)の特徴:パラメータと静的変数しか使用できない.言い換えれば、thisの自己引用の方法はない.
    静的メソッドのリロード
    1、静的メソッドのリロードとメンバーメソッド(インスタンスメソッド)と同じ
    String
    Stringオブジェクトの重要な特徴:可変(immutable).Stringが文字を格納するために使用するデータはprivateであり、コンテンツを変更する方法は提供されないため、Stringオブジェクトが生成されると、そのコンテンツは完全に変更されません.
    一般的な方法
    1、length()--文字列の文字数(中、英、スペース、エスケープ文字はすべて文字で、長さを計上)を取得します.
    2、charAt(値)--指定した位置の文字を文字列から取り出す
    3、indexOf(「文字」)--文字「文字」の位置を検索する
    4、toUpperCase();  toLowerCase();文字列の大文字と小文字の変換
    5、split(「文字」)は、与えられた正規表現の一致に基づいてこの文字列を分割する.新しいString配列を形成する.
    StringBuilderとStringBuffer
    1、StringBuilderは文字列をつなぎ合わせて処理するのに非常に便利なクラスで、スレッドセキュリティとStringの違いではなく、可変です.
    2、StringBufferはスレッドセキュリティであり、マルチスレッドに追加の同期を必要としない.可変です
    継承
    1、子は親のメソッドと属性を継承する
    2.子クラスの参照を使用して親クラスの共有メソッドを呼び出す
    3、子の参照を使用すると、親の共有属性にアクセスできます•子の参照は一物二用で、親の参照としても、子の参照としても使用できます.
    子は親を継承し、親のすべての属性とメソッドはクラスにアクセスされ、呼び出されます.コンビネーションとは、既存のタイプを新しいクラスとして使用するメンバー変数のタイプで、「オブジェクト保有」とも呼ばれます.
    継承と組合せ
    自分のクラスでは、他のクラスの2つの関係を使用して、私たちは「has-a」と呼ばれ、組み合わせとも呼ばれています.
    継承は、実は「is-a」の関係を表しています.つまり、あなたがクラスで構築した世界では、「子は親の特殊なカテゴリです」
    継承は組合せではなく、継承も単純に親の属性や方法を持つためだけではありません.それだけなら、そのまま持ってきて主義、組み合わせもできる.
    継承も組合せによって実現されるものではない.組み合わせに比べて継承は「融合」と呼ばれる融合、すなわち二つを一つにし、互いに影響を与えることができる.親が子に影響を与えるのは問題なく、子が親に影響を及ぼすのを上書きします
    super:親オブジェクトとのコミュニケーションの橋渡し
    サブクラスオブジェクトには、superキーでコミュニケーションする特殊な親オブジェクトがあると考えられます.
    1、子および親に同じ名前のメンバー変数またはメソッドがある場合、親のメンバーは上書きされます.親のメンバーは次の方法で参照できます.
    super.
    super.

    Java言語では、メンバーへのアクセスを継承関係で実現するには、最近のマッチングの原則に従います.
    (1)サブクラスでメンバー変数とメソッドにアクセスすると、このクラスで定義されているかどうかが優先されます.このクラスにメンバーが存在する場合は、このクラスを使用します.そうでない場合は、継承階層の順序で親クラスを検索し、見つからない場合は、祖先クラスの検索まで階層ごとに検索を続けます.
    (2)superは特に親クラスにアクセスするメンバーを指し、superを使用してまず直接親クラスに一致するメンバーを検索し、見つからない場合は階層ごとに祖先クラスに検索する
    2、サブクラスはsuperキーワードで親クラスで定義された構築方法を呼び出すことができる
    super(      )

    (1)継承関係により,構造方法は上から下へ呼び出される.
    (2)子クラスにコンストラクションメソッドがない場合は、親クラスにパラメータのないコンストラクションメソッドがデフォルトで呼び出され、親クラスにパラメータのないコンストラクションメソッドがない場合はエラーが発生します.
    (3)サブクラスにコンストラクションメソッドがある場合は,サブクラスのオブジェクトを作成する際に親クラスのコンストラクションメソッドを実行してから,サブクラスのコンストラクションメソッドを実行する.
    (4)サブクラスにコンストラクションメソッドがあるが、サブクラスのコンストラクションメソッドにsuperキーワードがない場合、システムはデフォルトでコンストラクションメソッドを実行するとsuper()コードを生成します.すなわち、コンストラクションメソッドは親のパラメータのないコンストラクションメソッドを呼び出します.
    (5)親クラスにパラメータが含まれている構築方法については、サブクラスは自分の構築方法でsuperキーワードを使用して参照でき、サブクラス構築関数方法の最初の文でなければならない.
    (6)Java言語では,1つのクラスに1つ以上のパラメトリック構造メソッドが含まれている場合,システムはデフォルトの構造メソッド(すなわちパラメータを含まない構造メソッド)を提供しないため,親クラスで複数のパラメータ付き構造メソッドが定義されている場合,サブクラスがsuperキーワードを省略した場合にエラーが発生しないようにパラメータなし構造メソッドを書くことを考慮する.