我有一個基類BASE和夫婦繼承類BASE_1,BASE_2 ,, BASE_3。我在代碼BASE測試,但如何發現它指向什麼類:BASE_1,BASE_2或BASE_3?發現什麼繼承類它指向
0
A
回答
3
BASE test = getSomeBase();
// method 1
System.out.println(test.getClass().getName()); // prints the classname
// method 2
if (test instanceof BASE_1) {
// test is a an instance of BASE_1
}
3
我不清楚你在問什麼,但你可以使用getClass()
方法和instanceof
算子。
如果是像
Base b = new Child1();
b.getClass();//will give you child1
3
要查看特定對象的類名,你可以使用:
test.getClass().getName();
但你不應該普遍關心,因爲這取決於任何功能你應該在哪些子類中實現這些子類作爲這些子類中的重載(「多態」)函數。
2
您可以使用instanceof
檢查特定類型或.getClass()
獲得Class
對象描述特定的類:用於
Base test = getSomeBaseObject();
System.out.println("test is a " + test.getClass().getName());
if (test instanceof Base1) {
System.out.println("test is a Base1");
}
相關問題
- 1. UML - 類繼承,你繼承了什麼?
- 2. 指向基礎類和私有繼承
- 3. 繼承和指向指針的指針:爲什麼它不工作,我該如何解決它?
- 4. 向量指針的,繼承
- 5. UML圖:顯示指向類的指針向量的繼承
- 6. C++繼承問題,基類指針不能夠指向子類
- 7. 「繼承」屬性:它有什麼作用?
- 8. 基類指針vs繼承類指針?
- 9. 爲什麼StringBuilder如果從AbstractStringBuilder繼承它就實現CharSequence?
- 10. 爲什麼不繼承視圖呈現?
- 11. 從基類繼承時,嵌套類會發生什麼?
- 12. java類繼承和javabean繼承之間有什麼區別?
- 13. LinkedList ...繼承...什麼?
- 14. C++繼承:派生類指向基類調用Derived類方法
- 15. 這裏的繼承發生了什麼?
- 16. 可以在基類分不清什麼項目是繼承它
- 17. 爲什麼Qt提供一個類來繼承它?
- 18. 多重繼承中派生類的指針指向
- 19. 什麼類型的繼承允許這
- 20. 繼承與類別有什麼區別
- 21. 爲什麼嵌套類「繼承」?
- 22. 什麼是從基類繼承的?
- 23. 繼承類結構是什麼樣的?
- 24. 爲什麼繼承對象類型
- 25. 什麼類型從ICollection繼承?
- 26. Python類有什麼問題繼承
- 27. 爲什麼一類從結構繼承
- 28. 什麼調用從NSManagedObject繼承的類?
- 29. 爲什麼不能繼承SqlDataReader類?
- 30. 實現單繼承類
+1「但你不應該普遍關心」 – 2011-04-13 13:37:53