これをメソッドヘッダーとして書き込もうとしています:
public static void main(String[] args) throws URISyntaxException, IOException, extends Applet {
つまり、throws ステートメントと extends ステートメントを使用してメソッドを宣言しようとしています。
これは(構文的に)可能ですか?
extends
メソッドには適用されません。another (または) an can anotherのみclass
を拡張できます。class
interface
extend
interface
他の人が言ったように、メソッドでは使用できませんextend
。おそらく意図したのは、「このメソッドはこの親クラスのメソッドをオーバーライドします。そのためには、親と同じメソッド シグネチャを使用していることを確認するだけでよく、親のメソッドがオーバーライド可能であることも確認する必要があります。 .
メソッドに final キーワードが含まれておらず、public または protected である場合、そのメソッドはオーバーライド可能です。2 つのクラスが同じパッケージ内にある場合、メソッドがパッケージで保護されている (public/private/protected が含まれていない) 場合は、メソッドをオーバーライドすることもできます。
@Override
子メソッドを使用して、実際にメソッドをオーバーライドしていることを自分自身で証明できます。なんらかの理由でメソッドをオーバーライドしていない場合、これはコンパイル エラーになります。
メソッドを拡張することはできません。延長できるのはクラスのみです。
ここでの問題はextends
、メソッドではなくクラスに使用されることです。次のようなものが必要になります
public class MyApplet extends Applet {
main
また、 にメソッドがあってはなりませんApplet
。