0

これをメソッドヘッダーとして書き込もうとしています:

public static void main(String[] args) throws URISyntaxException, IOException, extends Applet {

つまり、throws ステートメントと extends ステートメントを使用してメソッドを宣言しようとしています。

これは(構文的に)可能ですか?

4

4 に答える 4

3

extendsメソッドには適用されません。another (または) an can anotherのみclassを拡張できます。classinterfaceextendinterface

于 2013-07-05T20:33:35.407 に答える
2

他の人が言ったように、メソッドでは使用できませんextend。おそらく意図したのは、「このメソッドはこの親クラスのメソッドをオーバーライドします。そのためには、親と同じメソッド シグネチャを使用していることを確認するだけでよく、親のメソッドがオーバーライド可能であることも確認する必要があります。 .

メソッドに final キーワードが含まれておらず、public または protected である場合、そのメソッドはオーバーライド可能です。2 つのクラスが同じパッケージ内にある場合、メソッドがパッケージで保護されている (public/private/protected が含まれていない) 場合は、メソッドをオーバーライドすることもできます。

@Override子メソッドを使用して、実際にメソッドをオーバーライドしていることを自分自身で証明できます。なんらかの理由でメソッドをオーバーライドしていない場合、これはコンパイル エラーになります。

于 2013-07-05T20:35:48.307 に答える
1

メソッドを拡張することはできません。延長できるのはクラスのみです。

于 2013-07-05T20:33:29.777 に答える
1

ここでの問題はextends、メソッドではなくクラスに使用されることです。次のようなものが必要になります

public class MyApplet extends Applet {

mainまた、 にメソッドがあってはなりませんApplet

于 2013-07-05T20:34:08.833 に答える