Java中的所有抽象類顯然都是由一個具體的類進行擴展,並且不能自行實例化,我如何獲得對正在擴展我的摘要的類的引用類?我的用例涉及反射和在我的父級抽象類我想內省的具體子類的方法,我無法弄清楚如何獲得對子類的引用,而無需添加抽象方法強制子類返回其類。有任何想法嗎?!如何在抽象java類中獲取對子類的引用
回答
您可以使用this
作爲當前對象的參考。通過在抽象類中調用this.getClass()
,您將在運行時獲取子類的Class實例。
此外,你的問題已經在這裏找到答案:
Get Concrete Class name from Abstract Class
請糾正我,如果我明白你錯了。
儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/15340777) –
謝謝你的提示,編輯了原始答案。 –
您的抽象類在運行時不「存在」,只有具體的實現可以被實例化。在抽象超類中定義的任何方法並且在具體類中都未覆蓋的方法可通過參考this
引用「自身」。
我明白了!謝謝! –
- 1. 使用抽象類中抽象類的引用抽象類c
- 2. 如何在java中將對象從超類獲取到子類?
- 3. 如何創建子類對象的java抽象類列表
- 4. 對抽象類的引用
- 5. 如何在Java中獲取對象類?
- 6. 如何通過引用抽象類 - Java
- 7. 如何在抽象類中獲取ServiceManager
- 8. 引用抽象類的子類
- 9. 用罐子中的Java抽象類
- 10. 如何獲得JavaME中的抽象類(對象)的類?
- 11. 如何在Qt信號中使用對抽象類的引用?
- 12. 在django中從抽象基類中獲取子類型
- 13. 如何獲取對象的子類?
- 14. c# - 如何在A的類中獲取對象A的引用?
- 15. 抽象基類的抽象子類
- 16. 如何在抽象父類中獲取子類的覆蓋內容信息
- 17. 如何在抽象Java類中引用「this」?
- 18. 如何訪問從java的抽象類的子類實例化的對象?
- 19. 如何在抽象超類中使用子類中的方法
- 20. 引用抽象類中的inherting類
- 21. Java-在抽象類中使用常量,需要子類使用
- 22. 超類對子類對象的引用
- 23. Java OOP:引用子類對象
- 24. Java - 抽象類
- 25. Java:使用getClass獲取子類引用
- 26. 使用JNI在Java中爲C++抽象類子類化
- 27. Java的如何使用抽象類
- 28. 從JAVA中的類對象獲取方法引用8
- 29. 獲取抽象類型
- 30. 獲取一個抽象類
'this' will work,no? –
我不確定要理解。什麼是抽象類中的子類?抽象類有一個超類。它也可能有子類。但是「內部」概念,我沒有看到。抱歉。 – davidxxx
說AbstractPerson是java中的一個抽象類,JohnSmith擴展了AbstractPerson,AbstractPerson中可以獲得對JohnSmith子類的引用嗎? –