以下のためのパッケージ変更テスト; //テストという名前のパッケージを作成します。 パブリック クラス A4paper 実装ペーパー{ 公共の文字列のgetSize(){ リターン "A4" ; //实现接口紙 } }
パッケージのテスト; パブリック クラス B5paper 実装ペーパー{ 公共の文字列のgetSize(){ リターン "B5" ; //实现接口紙 } }
パッケージのテスト; パブリック クラス ColorMohe 実装Mohe { 公共の文字列GETCOLOR(){ リターン "カラフル" ; //实现接口Mohe } }
パッケージのテスト; パブリック インターフェースMohe { パブリック文字列GETCOLOR(); //インターフェイスMoheを作成します }
パッケージのテスト; パブリック インターフェース紙{ パブリック文字列のgetSize(); //インターフェイス紙を作成します }
パッケージのテスト; パブリック クラスプリンタ{ プライベートMoheのmohe。 プライベート紙紙; 公共 のボイドプリント(){ System.out.println( "用" + mohe.getColor()+ "打印" + paper.getSize()+ "纸")。 } 公共Mohe getMohe(){ 戻りmohe。 } 公共 ボイドsetMohe(Mohe MOHE){ この .mohe = MOHE。 } パブリック紙getPaper(){ 戻り紙。 } 公共 のボイドsetPaper(ペーパー紙){ この .paper = 紙; //紙や包装の完全なMohe } }
パッケージのテスト; パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ プリンタのプリンタ = 新しいプリンタ(); Mohe mohe = 新しいWhiteMohe(); printer.setMohe(mohe)。 紙の紙 = 新しいA4paper(); printer.setPaper(紙)。 printer.printは(); // A4用紙白カートリッジの機能を印刷達成します } }
パッケージのテスト; パブリック クラス WhiteMohe 実装Mohe { パブリック文字列GETCOLOR(){ リターン "白" ; //实现接口Mohe } }
カラーコードを実装することができるように、異なる機能が、紙の異なるタイプのカートリッジを印刷します。
ここでは、異常のjava、異常箇所のエラーと例外の話、例外主の話を、多くの共通の異常Javaの例外に次の5つの種類があります
InputMismatchException入力不一致例外
はArithmeticException算術演算例外
は、ArrayIndexOutOfBoundsException配列添字境界例外
NullPointerExceptionがヌル・ポインタ例外
NumberFormatExceptionがデジタルフォーマット変換例外
1.例外をキャッチする方法:使用のtry-catchを、finallyステートメント
パッケージTEST1。 輸入 java.utilの。* ; インポートjava.util.Scanner; パブリック クラスDemo00 { 公共 静的 ボイドメイン(文字列[]引数){ 試み{ スキャナスキャナ = 新しいスキャナ(System.in)。 System.out.println( "" ); INT NUM1 = scanner.nextInt()。 INT NUM2 = scanner.nextInt()。 System.out.println(NUM1 + "/" + NUM2 + "=" + NUM1 / NUM2)。 System.out.println(「ご利用いただきありがとうございます」); } キャッチ(InputMismatchException電子){ System.err.println(「入力不一致例外」); // TODO自動生成されたブロックキャッチ e.printStackTrace(); } キャッチ(はArithmeticException電子){ System.err.println( "算术异常" ); // TODO自動生成されたcatchブロック e.printStackTrace(); } キャッチ(例外e){ System.out.println( "他の例外" ); // TODO自動生成キャッチブロック e.printStackTrace(); リターン; //はfinally文の後に実行 } 最終的には{ System.out.println( "ありがとう" ); } } }
上記のコードは、入力除数と分割機能の完了に対応する配当を実装し、ユーザはエラーの種類に対応する入力値を入力した後、コンソールは、どのような赤色のテキストにエラーの表示されます。try文のコード実行順序 - > catch文(ノンリターン) - >最後に - > catch文のリターン
異例の声明を2.throws
ケース: パブリック クラスDemo05は{ // 1.メソッド宣言に異常作成 、公開 、ボイドショーを()がスロー例外{ // XXX のSystem.out.println( "*******" ); } // メソッド呼び出しの第1の実施形態では、発信者が例外である2.スロー // パブリック静的な無効メイン(文字列[]引数)を例外{スロー // )Demo05 demo05新しい新しいDemo05 =(; // demo05.show( ); // } // 3の方法の第2の実施形態では、キャッチ例外しようとキャッチを使用することである 公共の 静的な 無効メイン(文字列[]引数){ Demo05 demo05 = 新しいDemo05(); してみてください{ demo05.show(); } キャッチ(例外e){ e.printStackTrace(); } } }
3.手投げ例外スロー新しい例外(「」);
案例: パブリック クラスDemo06 { 公共 ボイドショー()スロー例外{ int型、A = 3 。 INT B = 1 。 もし(> B){ System.out.println( "> B" )。 } そう であれば(<= B){ System.out.println( "<= B" )。 } 他{ // 手動で例外 スロー 新新(「!プログラムに問題がある」例外)。 } } // パブリック静的な無効メイン(文字列[]引数)が例外をスロー{ // Demo06 demo06 =新しいDemo06()。 // demo06.show(); // } パブリック 静的 ボイドメイン(文字列[]引数){ Demo06 demo06 = 新しいDemo06(); してみてください{ demo06.show(); } キャッチ(例外e){ e.printStackTrace(); } } }