クラスAを変更することはできませんが、コンストラクタで 'a'の値を取得する必要があります。それを行う方法を教えてもらえますか?他のすべてのソリューションは、私はどのような方法でクラスAに変更を加えることが許されていないです、ない公共などに変更する魔法はクラスBjava:getterを設定せずに別のクラスからプライベート変数を取得する
public class A{
private int a;
public A(int x){
a = x * 10;
}
}
public class B{
public B(int x){
A instA = new A(x);
}
public int geta(){
???
}
}
PSで発生しているクラスAにゲッターを提案するようです:この質問を投稿しました。なぜなら、すべての類似の質問はクラスAを変更して回答されたのに対して、私は許可されていないからです。しかし、唯一の反射であるように見えるので、この質問は閉鎖することができます。おかげでみんなとギャル。
メンバ変数がプライベートである場合、外部にアクセスする唯一の方法はいくつかの方法です... –
Aにゲッターを追加することはできませんが、Aを何らかの形で変更することはできますか?もしあなたがそうであれば、 'private int a;'を 'public int a;'に変更する可能性があります。また、ゲッターを追加できない理由を明記してください。 –
参照:http://stackoverflow.com/questions/1196192/how-do-i-read-a-private-field-in-java –