オーバーライドするメソッドは、Javaでオーバーライドされるメソッドによってスローされる例外のスーパータイプをスローできますか?
スーパークラスメソッドが特定の例外をスローする場合、サブクラスのメソッドはそのスーパータイプをスローしないようにする必要があります。
例
次の例では、スーパークラスのreadFile()メソッドがFileNotFoundException例外をスローし、サブクラスのreadFile()メソッドがFileNotFoundExceptionのスーパータイプであるIOExceptionをスローします。
import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; abstract class Super { public String readFile(String path)throws FileNotFoundException { throw new FileNotFoundException(); } } public class ExceptionsExample extends Super { @Override public String readFile(String path)throws IOException { //method body ...... } }
コンパイル時エラー
コンパイル時に、上記のプログラムは次の出力を提供します-
ExceptionsExample.java:13: error: readFile(String) in ExceptionsExample cannot override readFile(String) in Sup public String readFile(String path)throws IOException { ^ overridden method does not throw IOException 1 error
-
JavaでinvokeLater()メソッドを呼び出すにはどうすればよいですか?
invokeLater() メソッドは静的です SwingUtilitiesのメソッド クラスであり、タスクを非同期に実行するために使用できます。 AWT イベントディスパッチャスレッド 。 SwingUtilities.invokeLater() メソッドはSwingUtilities.invokeAndWait()のように機能します ただし、リクエストはイベントキューに配置されます そしてすぐに戻る 。 invokeLater() メソッドは、実行可能内のコードのブロックを待機しません ターゲットによって参照されます 実行します。 構文 public static void in
-
JavaでJPanelのpaintComponent()メソッドを実装するにはどうすればよいですか?
JPanel は軽量のコンテナであり、見えない コンポーネント Javaで。 JPanelのデフォルトのレイアウトはFlowLayout 。 JPanelを作成したら、他のコンポーネントを JPanelに追加できます。 add()を呼び出してオブジェクトを作成します コンテナから継承されたメソッド クラス。 paintComponent() このメソッドは、 JPanelで何かを描画するために必要です 背景色を描く以外。このメソッドは、 JPanelにすでに存在します スーパーを使用する必要があるようにクラス このメソッドに何かを追加し、グラフィックスを取る宣言 オブジェクト パラメータ