0

为什么以及何时我们可以直接实例化一个类

Human human1 = new Human("john", "doe");

以及为什么以及何时检索对已经完成的实例的引用?

Context.getSystemService(Context.TELEPHONY_SERVICE). 
4

2 回答 2

2

每次调用类构造函数时,都会创建一个新的类实例。在您的示例中,您可以有几个“John Doe”的 Human 实例,它们彼此独立存在。

随着Context.getSystemService(...)你得到一个singelton的参考。每个 android 应用程序都将与相同的 TELEPHONY_SERVICE 实例通信。

于 2013-05-01T15:59:47.413 回答
1

您只能检索对类 A 的引用:当您知道它已被实例化时,而 B:当您具有适当的访问权限以获取所需的引用时。您这样做的原因是因为您想要对已创建的此实例执行一些工作,并且您希望此工作可用于此实例的未来使用,例如更改 John Doe 的姓氏。

另一方面,您总是可以选择实例化一个新对象,但它并不总是有用的。例如,没有理由执行以下操作:

Human human1 = new Human("John", "Doe");
human1 = SomeHumanThatAlreadyExists;

第一行是没有用的,这个 John, Doe 对象最终会被垃圾回收而不被使用。这是一个基本问题的基本答案,如果您想要更高级的答案,请提出更具体的问题。

于 2013-05-01T15:52:00.273 回答