ダークホースプログラマー_JAVA_オブジェクト向け(四)

4222 ワード

------Javaトレーニング、Androidトレーニング、iOSトレーニング、.Netトレーニング、お客様とのコミュニケーションを期待しています!------
一、異常
異常:プログラムが実行中に異常が発生することであり,異常はJavaにおける重要なメカニズムであり,オブジェクト向けの考え方も用いてカプセル化されている.私たちが通常使用する異常クラス.例外クラスには、プログラムで発生する可能性のあるエラーや問題が記述されています.
異常由来:問題も現実生活の具体的なものであり、javaのクラスの形式で記述することもできる.オブジェクトにカプセル化します.実はjavaが異常な状況を説明したオブジェクトの体現です.
2つの問題の区分方法があります.
         深刻な問題についてjavaはErrorクラスによって記述される.Errorクラスに対しては,一般にターゲットコードを記述せずに処理する.
        深刻でない場合、javaはExceptionクラスで記述されます.Exceptionについては、的確な処理方法で処理することができます.
         ErrorやExceptionにかかわらず、いくつかの共通の内容があります.例えば、異常な状況の情報、原因など.これはJavaの異常システムを構成しています.
 
例外クラスはThrowableに継承されています
Error   通常、実行中のクラスが存在しないか、メモリオーバーフローなどの重大な問題が発生します.
Exception   実行時に発生した一連の状況
RuntimeException   特殊な例外クラス、放出時に宣言する必要はありません
ExceptionとErrorの子クラス名はいずれも親クラス名を接尾辞とする.
異常発生には2つの状況があります.
        1、コンパイル時に異常が検出される:この異常はコンパイル時に処理がなければ(投げもtryもない)、コンパイルに失敗する.この異常は、処理可能であることを意味して識別される.
        2、実行時異常(コンパイル時に検出しない):コンパイル時に、処理する必要がなく、コンパイラは検査しない.この異常の発生は、処理せずにプログラムを停止させることをお勧めします.コードの修正が必要です.例:RuntimeExceptionおよびそのサブクラス.
異常体系の特徴:
        1、異常システム中のすべてのクラスおよび構築されたオブジェクトは放出性を備えている.
         2、つまりthrowとthrowsのキーワードで操作できる.
        3、異常システムだけがこの特徴を備えている.
例外の処理:
try
{
    //検出されるコードが必要です.
}
catch(異常クラス変数)
{
    //異常を処理するコード;
}
finally
{
    //必ず実行される文.
}
複数の例外に対する処理:
1、異常を宣言する場合、より具体的な異常を宣言することをお勧めします.このような処理はより具体的にすることができる.
2、相手はいくつかの異常を宣言して、いくつかのcatchブロックに対応します.余分なcatchブロックを定義しないでください.複数のcatchブロックの異常が発生した場合
親異常catchブロックを一番下に置く関係です.、
注意:
        1、finallyで定義されているのは、通常、リソースコードを閉じることです.リソースを解放しなければならないからです.
        2、一つの機能において、実行しなければならないコードがいくつか定義されている場合、try{}finally{}で、一定の実行コードをfinallyコードブロックに入れることができる.
        3、finallyは一つだけ実行しない.System.exit(0)に実行すると、fianllyは実行しません.
throwとthrowsの違い:
        throwは、例外オブジェクトを放出するために関数内に定義されます.
        throwsは関数上で定義され、異常クラスを放出するために使用され、複数をカンマで区切ることができます.
        関数の内容がthrowで異常オブジェクトが投げ出された場合、try処理は行われません.関数に宣言する必要があります.そうしないと、コンパイルに失敗します.
注意:RuntimeExceptionは除外されます.つまり,関数内に放出されたRuntimeExcpetionが異常であれば,関数上で宣言しなくてもよい.
呼び出し者による放出情報の処理:
関数内部にthrowが異常オブジェクトを投げ出すと,対応する処理動作を与えなければならない.内部try catchで処理するか.または、呼び出し元に処理するように関数に宣言します.
        一般的に、関数内に異常が発生し、関数に宣言が必要です.機能上throwsのキーワードで、この機能に異常タイプが発生する可能性があることを宣言しました.
特別な点: 
Exceptionには特殊なサブクラス異常RuntimeExceptionがあります 運転時異常.
                1、 この例外を関数内に投げ出すと、関数上で宣言せずにコンパイルすることができます.
                2、関数に異常が宣言された場合.呼び出し者は処理を行わなくてもよい.コンパイルは同じように通過します.
        関数で宣言しないのは、呼び出し元に処理させる必要がないからです.この異常が発生した場合、プログラムを停止します.実行時に演算を続行できない場合があるので、プログラムを停止した後、コードを修正してほしい.
子の親のオーバーライドに例外が表示されます.
1、子クラスが親クラスを上書きする場合、親のメソッドが例外を放出すると、子クラスの上書きメソッドは、親クラスの例外またはその例外のみを放出できます.
サブクラス.
2.親メソッドが複数の例外を放出する場合、子メソッドが上書きされると、親メソッドの例外のサブセットのみが放出されます.
3、親またはインタフェースのメソッドに異常放出がない場合、子クラスはメソッドを上書きするときに異常を放出することはできません.子の場合
クラスメソッドに異常が発生しました.try処理を行わなければなりません.絶対に投げてはいけない.
カスタム例外:
       カスタム例外ExceptionまたはRuntimeExceptionを継承する理由:
        1、このカスタムクラスに放弃性を持たせるため.
        2、この類に操作異常の共通性を持たせる方法.
3、throwsとthrowで操作できるのは、このシステムのクラスとオブジェクトだけです.
//     
class MyException extends RuntimeException
{
	MyException(String message)
	{
		super(message);
	}
}

二、パッケージ
パッケージの役割:
        1、クラスファイルの分類管理
        2、クラスに多層ネーミングスペースを提供する
        3、パッケージはプログラムの最初の行に書かなければならない
        4、クラスのフルネーム:パッケージ名.クラス名
        5、パッケージもパッケージ形式である
パッケージ間のアクセス:     
        1、パケットとパケット間のアクセス、アクセスされたパケット内のクラスおよびクラスのメンバー、public修飾が必要
        2、異なるパッケージの子クラスは、親クラスのprotected権限で修飾されたメンバーに直接アクセスすることもできます.
3、パッケージとパッケージ間のアクセス権限は2種類しかありません:publicとprotected
注:1つ
.java
ファイルには、2つ以上の共有クラスやインタフェースが表示されません.なぜなら
public
修飾されたクラス名は
java
ファイル名は同じです.
 
パッケージのインポート( import ):
        1、クラス名を簡略化できます.他のパッケージのクラスを呼び出す場合は、クラスのフルネーム、すなわちパッケージ名とともに書く必要があります.
        2、1つのプログラムファイルに1つのpackageしかなく、複数のimportを持つことができる.importはパッケージ内のクラスをインポートし、パッケージ内のパッケージをインポートしない.
        3、パッケージをインポートする場合、パッケージに多くのクラスがある場合は、ワイルドカードを使用できます. *を使用して、パッケージ内のすべてのクラスを置き換えます.
4、インポートした異なるパッケージに同じクラスがある場合は、クラスのフルネームを書いて区別しなければなりません.そうしないと、エラーが発生します.