【发布时间】:2010-06-25 21:17:09
【问题描述】:
Android 是否有任何方法可以在不调用任何构造函数的情况下实例化对象?
在 Java 中,Sun 有 sun.reflect.ReflectionFactory.getReflectionFactory().newConstructorForSerialization(),在 .Net 中有 System.Runtime.Serialization.FormatterServices.GetUninitializedObject(),但我无法做到在 Android 平台上找到类似的东西。
【问题讨论】:
-
我真的很想知道这样的用例是什么。
-
您的目标是反序列化可以说只有非空构造函数的对象吗?这是一个有趣的请求。
-
@Rich,Anthony,原因与序列化基础设施相同。我在 oodb 中工作,一旦我们实例化对象,我们就设置它的字段,所以调用构造函数至少是浪费时间/资源。在最坏的情况下,我们可能没有可用的构造函数(所有可用的构造函数在调用时都可能抛出空值/默认值)
-
@Quintin Robinson:基本上我们根本不关心这个类是否有任何构造函数。如果可能的话,最好绕过调用任何构造函数。
标签: android constructor objectinstantiation