次のインターフェイス宣言があります。
public interface SomeInterface {
void someMethod() throws Exception;
}
サードパーティを使用して、このクラスの実装を生成します (JavaCC - 好奇心旺盛)
生成されたクラスは単純に次のようになります。
public class SomeClass implements SomeInterface {
public void someMethod() throws SomeException {
// Does something
}
}
もちろん、 whereSomeException
は のサブクラスですException
。
(いいえ) 驚くべきことに、コードはコンパイルされません。
これに関する意見はありますか?
ありがとう!
編集:
メソッドの名前を に変更しSomeMethod()
ましたsomeMethod()
。
それは私のタイプミスでした...(ごめんなさい)
編集#2:
申し訳ありませんが、私の大きな間違いです。この例を書くことで、コードを削除せざるを得なくなりました。間違いが署名ではなく他の場所にあることに気づきませんでした。
それがランタイムコンパイルとカスタムクラスのロードの「魔法」です...