回答
in request
如果它不爲空,則已經有一個ObjectA
的實例。所以沒有新的實例會被證明。
你的意思是說,通過上述語句,我們只是訪問請求範圍中存在的對象。 如果我在條件之前追加'Object b ='? – 2014-10-09 08:32:49
將會創建對該對象的現有實例的引用 – jBeenenga 2014-10-09 08:35:03
我很想知道這對GC過程的影響嗎?在GC上會像增加或減少或沒有效果一樣? 參考GC完成的工作。 – 2014-10-09 08:40:28
不,不創建實例。即使該方法返回一些對象,它只是將參考文件轉換爲ObjectA
。該實例將由request.getParameter()
創建。
精化,鑄造不會創建新的實例。這只是參考分配。以下示例顯示計數。只有一個實例被創建。希望這可以幫助。
class Parent1 { static int j; Parent1(){j++;} }
class Child extends Parent1{ static int i; Child(){i++;}}
// and the code
Parent1 pc = new Child();
System.out.println(Child.i);
System.out.println(Parent1.j);
Child p = (Child) pc;
System.out.println(Child.i);
System.out.println(Parent1.j);
輸出
1
1
1
1
我不認爲由'request.getParameter(「something」)''返回的對象引用正在播放,'(ObjectA)request.getParameter(「something」)!= null'就像是寫'(ObjectA)true'或' (ObjectA)false'。它應該是'if(request.getParameter(「something」)!= null){ObjectA Obj1 =(ObjectA)request.getParameter(「something」)}' – 2014-10-09 08:32:21
爲什麼會的ObjectA
一個實例被創建,(ObjectA)
會簡單地嘗試從request.getParameter("something") != null
投返回值的類型ObjectA
。
request.getParameter("something")
返回一個Object,你只是將它轉換爲ObjectA
來檢查它的類型。沒有創建實例/對象。
來到的代碼的實際行,你不必強制轉換那裏只是
request.getParameter("something") != null
就足夠了。
我知道這就是爲什麼我明確地類型轉換爲'對象A '。 – 2014-10-09 08:35:20
- 1. 在創建子類實例時是否還創建了超類實例?
- 2. dlopen是否創建多個庫實例?
- 3. 當我們實例化一個對象時,是否創建了一個超類的實例?
- 4. 創建實例時創建一個boost ::了posix_time ::的ptime實例毫秒
- 5. C#創建一個實例
- 6. 創建一個MXML實例
- 7. startService()是否創建一個新的Service實例或使用現有的實例?
- 8. 是否可以創建一個CM applet的實例?
- 9. 是否可以創建一個結構實例數組?
- 10. 是否可以創建一個Matlab實例作爲管理員?
- 11. OOP - 如果一個類創建一個類的實例,該實例是否也成爲一個對象?
- 12. 創建一個Django模型實例並創建另一個Django模型實例
- 13. 一個變量聲明創建了多個實例
- 14. 另一個類實例創建的類實例是否可以訪問創建者的成員?
- 15. SQLAlchemy - 在另一個實例中創建一個實例__init__
- 16. 是否可以在同一個類中創建一個類的實例?
- 17. 是否有一個call_user_func()等同於創建一個新的類實例?
- 18. 可以使用一個已經創建的實例創建一組實例嗎?
- 19. ExecutorService - 在方法中創建新實例vs每個類創建一個實例
- 20. 創建一個實例,我已經有了類型
- 21. 出了錯:無法創建一個對象存儲實例
- 22. 創建一個'新'實例解決了析構函數崩潰?
- 23. Typo3是否創建了list_view?
- 24. 創建的實例是空
- 25. 檢查一個類是否已經在iOS中實例化了
- 26. Python導入是否實例化了一個神祕類?
- 27. Docker和JVM,是否爲每個docker實例創建一個新的JVM安裝?
- 28. 是否可以使用循環創建同一個組件的多個實例?
- 29. Node.js對象實例是否爲每個用戶創建一個對象?
- 30. 是否應爲每個請求創建新實例?
http://stackoverflow.com/questions/9066218/casting-an-object-of-a-superclass-into-an-object-of-a-subclass-creates-a-new-obj – assylias 2014-10-09 08:21:08
這是'請求''HttpServletRequest'? – 2014-10-09 08:23:19