サブクラスの中にあります。スーパークラスの名前を見つけようとしているときにsuper.getClass()を試しましたが、サブクラスのみ。 なぜですか?サブクラスのsuper.getClass()がサブクラス名を返す理由
答えて
getClass().getSuperclass()
とする必要があります。
http://stackoverflow.com/questions/3294656/how-to-get-the-parent-base-class-object-super-getclassこのスレッドはあなたがBad Designを提案したので、あなたのお勧めは何ですか?それを避ける –
これはシナリオによって異なります。私はあなたがそれを使用しようとしているのか分かりません – Bozho
可能ならば、私はリフレクションを完全に避けることを勧めます。 –
スーパークラス(またはスーパークラスのスーパークラスなど)からメソッドをオーバーライドすると、super.theMethod()
はオーバーラードしたメソッドではなく元のメソッドを呼び出します。実際のオーバーライドをtheMethod
にしなかった場合、super.theMethod()
はtheMethod()
のように正しく動作します。
この場合、私はあなたがそう正確getClass()
、すなわちなどのsuper.getClass()
行為のいずれかの方法がObject
クラスのgetClass
メソッドが呼び出され、(実際に私はそれが最終的なので、あなたはしなかった知っている)getClass()
をオーバーライドしていなかったと仮定します。
はい、私は同意しますが、そのようなデザインは、スーパークラスのメソッドを呼び出さない理由は、メソッドを呼び出すためにスーパーが言及されている場合は、 –
@AbhishekChoudharyそうです。 'getClass'を呼び出すと、' Object'で定義された 'getClass'メソッドを呼び出しています。 'Object'はあなたのクラスのスーパークラスです(ダイレクトスーパークラスでない場合でも)。そのため、スーパークラスのメソッドのバージョンを呼び出しています。実際、スーパークラスのバージョンはそのメソッドの唯一のバージョンです。 – sepp2k
あなたは、派生クラスのオブジェクトやスーパーではないクラスを作成しているためです..あなたはこの
this.getClass().getSuperClass();
'this.'は不要です。 –
- 1. サブクラスのサブクラスを返します
- 2. サブクラスQTableWigetが表示されない理由は何ですか?
- 3. Swift SCNNodeサブクラスhittestは常にSCNNodeを返す* not *サブクラス
- 4. サブクラス化を繰り返す性質が
- 5. サブクラスの代理人にアクセス
- 6. Javaのサブクラスのサブクラスの値を渡す
- 7. サブクラスが
- 8. Objective-C - サブクラスのデリゲートのサブクラス
- 9. UICollectionViewLayoutサブクラスをサブクラスにキャスト
- 10. ホワイトリストのサブクラスを経由してバインド
- 11. 私のUIImageViewサブクラスがタッチイベントを受け取らない理由は何ですか?
- 12. Fluent NHibernate - joinedサブクラスForeignKey名前
- 13. Java:スーパークラスメソッドのシグニチャでサブクラスを返す
- 14. UINavigationControllerサブクラスでUINavigationBarサブクラスを設定する
- 15. サブクラス
- 16. サブクラス
- 17. サブクラス
- 18. サブクラス
- 19. サブクラス化後の代理人ですか?
- 20. 流暢NHibernate:サブクラスの中のサブクラス
- 21. サブクラスの名前を付けるベストプラクティス
- 22. UILabelのサブクラスがdrawRect:
- 23. カスタムビュー - UIViewのサブクラスが
- 24. 私のオーバーロードされた関数がサブクラスに見えない理由
- 25. 継承されたプロパティがサブクラスで使用できない理由
- 26. プロパティ名によるリスト。サブクラスを含む
- 27. サブクラスstatic.File
- 28. サブクラスMKGeodesicPolyline
- 29. UINavigationBar:サブクラス
- 30. サブクラスNSProgressIndicator
はたぶん、いくつかのコードとサンプル出力を追加してみて? – smessing
[親の基本クラスオブジェクトを取得する方法super.getClass()](http://stackoverflow.com/questions/3294656/how-to-get-the-parent-base-class-object-super- getclass) – assylias