2

私はJavaが初めてで、ローカルクラスの概念を学ぼうとしています。現在、Offical Java Documentation Oracle のローカル クラスに関する章を読んでいます。この章で、互いに矛盾しているように見える 2 つのステートメントに遭遇しました。どちらの記述が正しいか、知識のある人が手を差し伸べてくれませんか? または、どちらも正しいですが、その概念についての私の理解はまだありません。

  1. ローカル クラスは、ローカル変数にアクセスできます。ただし、ローカル クラスは、final と宣言されたローカル変数にのみアクセスできます。

  2. ローカル クラスは、外側のブロックのインスタンス メンバーにアクセスできるため、静的ではありません。

https://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html

4

1 に答える 1

2

これらのステートメントは矛盾しておらず、どちらも正しいです。

インスタンス メンバー (2 番目のステートメントで説明) はローカル変数ではありません (ローカル変数は、メソッドまたはコード ブロックに対してローカルな変数ですが、インスタンス変数はクラスのインスタンスに属し、その非静的メソッドからアクセスできます。 class) であるため、final であるかどうかに関係なく、ローカル クラスからアクセスできます。

于 2016-01-05T12:39:49.850 に答える