-1
メソッドの内部でクラス内にいくつかの変数があります。どのように私はこれらの変数に別のクラスからアクセスできますか?Javaの別のクラスにあるメソッドの変数にアクセスする方法は?
メソッドの内部でクラス内にいくつかの変数があります。どのように私はこれらの変数に別のクラスからアクセスできますか?Javaの別のクラスにあるメソッドの変数にアクセスする方法は?
Javaでは、メソッド内で宣言された変数には、メソッドに限定されたスコープがあります。同じクラスであっても、メソッド外ではアクセスできません。
その場合、外部からアクセスしたい場合、その場所はおそらくメソッドの変数ではなく、クラスのメンバー、つまりクラスのプロパティとして宣言された「変数」のようになります。この:
public
:フィールドになりますあなたがメンバーに言及されている場合、あなたはクラスの外からこのフィールドにアクセスできるかどうかを class Example {
public int field;
}
を使用すると、フィールド宣言の前に書いたものに依存しますクラス外でアクセス可能
protected
:フィールドは、このクラスを拡張するクラスにアクセスできるようになりますprivate
:フィールドのみ
は、最小限の完全な、検証可能な例を教えてくださいそのクラス内でアクセスできるようになります。http://stackoverflow.com/ help/mcve – JETM
ローカル変数を意味する場合は、他のクラスはもちろんのこと、他のメソッドからアクセスする方法はありません。 – dasblinkenlight
変数がローカルの場合、メソッドから返されない限り変数にアクセスできません。変数がインスタンスメンバーの場合は、同じものに対してより優れたものを提供できます。しかし、内部を公開すると別のクラスに所有者クラスの鼻の下から状態を変更する方法があるため、注意してください。あなたがこのルートに着手する前にコピーコンストラクタと悪いいとこのクローンについてもっと読む – Madhusudhan