class Parent
{ //need to access variable of child class
}
class Child extends Parent
{ int a=10;
}
-4
A
答えて
0
リフレクションを使用して、デザインや発見を通して、子供について何かを知る必要があります。
この例は、「パッケージ」または「パブリック」であり、「プライベート」ではない「a」に依存します。
public int getChildA() {
int a = 0;
if (this instanceof Child) {
a = ((Child)this).a;
}
return a;
}
0
本当に必要な場合は、反射でフィールドを取得し、フィールドが見つからない可能性をキャッチしてください。しかし、これはまだ将来の設計から、本当に悪い考えです、
static class Parent
{
public int getChildA(){
try {
Class clazz = Child.class;
Field f = clazz.getDeclaredField("a");
if(!f.isAccessible())
f.setAccessible(true);
return f.getInt(this);
} catch (NoSuchFieldException ex) {
//the parent is not an instance of the child
} catch (SecurityException | IllegalArgumentException | IllegalAccessException ex) {
Logger.getLogger(SOtests.class.getName()).log(Level.SEVERE, null, ex);
}
return -1;
}
}
static class Child extends Parent
{
int a=10;
}
public static void main(String[] args) {
Child c = new Child();
Parent p = (Parent) c;
System.out.println(p.getChildA());
}
出力は10
次のとおりです。のようなものを試してみてください。私もデモのクラスを作る必要がありましたが、問題なく戻すことができます。
関連する問題
- 1. Java |親クラスと子クラスの静的変数親クラスの子var値にアクセスする
- 2. Javaの親クラスの子定数にアクセス
- 3. 親クラスから子クラスの属性にアクセスできますか?
- 4. OOP Java:子クラスを親クラスに戻すことはできますか?
- 5. 子クラスの親クラスにアクセスする
- 6. 親クラスから子クラスの静的変数にアクセスしますか?
- 7. Java:親クラスから子クラスメソッドにアクセス
- 8. 親クラスへの参照によって子クラスのメンバー変数にアクセスできますか?
- 9. ES6クラス:親クラスから子クラスのコンストラクタにアクセスすることは可能ですか?
- 10. Java親クラスのある関数()にある変数は、子クラスがどのように使用しますか?
- 11. $ thisから親クラスのオブジェクトと変数にアクセスしますか?
- 12. 親クラスの代入演算子は、派生クラスからアクセスすることはできませんなぜ
- 13. Javaの子クラスで直接親クラスのインスタンスメソッドを呼び出すことはできますか?
- 14. 子クラスからの親のプライベートインスタンス変数へのアクセス?
- 15. 子クラスから親クラスにアクセスするには?
- 16. Javaの別のクラスの変数にアクセスできませんか?
- 17. は、子クラスの変数で親クラスのメソッドを使用して
- 18. 子クラスの親クラスの変数を使用するPython
- 19. 親クラスのプライベート変数にどのようにアクセスできますか?
- 20. 親クラスのプライベートインスタンス変数にアクセス
- 21. C++自身の子クラスと親クラスの子クラスは同じですか?
- 22. 子変数を参照する親クラス
- 23. PHPの子クラスへのアクセス親変数問題
- 24. 親クラスの変数へのアクセス
- 25. 子クラスで親クラスのインスタンス変数の値を変更する方法
- 26. 親クラスから子クラスプロトタイプへのアクセス
- 27. Javaの親アクセス静的変数の子
- 28. Javaを使用して別のクラスの1つのクラス変数にアクセスするには?これらのクラスの
- 29. 親のクラス静的な変数子クラスの異なる値
- 30. C#親クラスと子クラス - 親クラスから子を選ぶ
no。これは多くの反省と一般的に悪い考えがなければ不可能です。 – Dallen
親は子クラスの依存関係や知識を決して持つべきではありません。期間。 –
これはあなたのデザインが間違っていることを明確に示しています。 – bradimus