回答
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. 创建实例时创建一个boost ::了posix_time ::的ptime实例毫秒
- 4. 创建一个MXML实例
- 5. startService()是否创建一个新的Service实例或使用现有的实例?
- 6. 是否可以创建一个CM applet的实例?
- 7. 创建一个Django模型实例并创建另一个Django模型实例
- 8. 一个变量声明创建了多个实例
- 9. SQLAlchemy - 在另一个实例中创建一个实例__init__
- 10. 是否有一个call_user_func()等同于创建一个新的类实例?
- 11. ExecutorService - 在方法中创建新实例vs每个类创建一个实例
- 12. Typo3是否创建了list_view?
- 13. Python导入是否实例化了一个神秘类?
- 14. Node.js对象实例是否为每个用户创建一个对象?
- 15. 是否可以用“星号java”创建两个“星号”实例?
- 16. 此代码是否创建该函数的多个实例?
- 17. 是否为每个实例重新创建对象属性?
- 18. 了解elb自动创建实例
- 19. 无法创建一个实例
- 20. 创建一个CalendarView的实例
- 21. 反思:创建一个实例-java
- 22. 用JS创建一个url实例
- 23. 在Application_Start上创建一个类实例
- 24. 创建一个RHEL实例的iso
- 25. 创建一个网关或NAT实例
- 26. 创建一个UIView的实例 - iOS
- 27. 从Zend_Controller_Request创建一个Zend_Navigation_Page_Mvc实例
- 28. 创建一个类的实例
- 29. 仅创建一个服务实例(Android)
- 30. 从毫秒创建一个GregorianCalendar实例
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