2017-08-25 79 views
-4

嗨只是想知道什么样的机制是这样的,我们得到这在Java中已经创建或android.For例如在Android的对象:上述OBJECT CREATION没有“new”关键字

1. Toast.makeText(Context context,"String",int duration); 
2. getApplication context(); 

头号返回敬酒对象我们从来没有实例化自己 第二个返回一个我们从未创建的上下文对象。

这是如何发挥出来的,创造物体在哪里?这与创建这个对象的系统有关吗?我是否应该关心自己是如何创建的,否则这将浪费时间,我应该在不知道这一点的情况下按照文档使用这些对象。我认为这是一种单一设计模式,但上下文的构造器是公共和上下文也是抽象的,所以我们不能实例化它,除非我们使用sublcass。任何有正确答案的人都可以提供帮助,因为从长远来看,这对我的编程帮助很大。

+0

每个应用程序都可以拥有许多对象,这些对象来自您的帮助类.... –

+0

该对象在调用的方法中创建并且该参考将返回 – Jens

+1

如果是第一个,您可以在IDE中使用“转到源代码”并亲自查看。 – jereksel

回答

1

不是实际上后端方法正在为您创建一个对象。 makeText是一个Toast类的静态方法,它返回一个Toast对象。

假设你有一个名为MyClass的类,它有一个返回MyClass实例的getObject方法,所以你这个方法的调用者只需要调用没有任何'new'关键字的方法,你就会返回实例。

+0

感谢您的回答非常简单,并提供了丰富的信息 – kobewarui

+0

快乐在我身边:) –

0

还记得Android主要是一个框架,照顾你的辛勤工作。当你实例化一个活动时,你正在创建一个继承自公共抽象类Context的子类的子类。所以从本质上讲,你实际上只是创建一个继承所有这些方法的类

+0

感谢您的反馈 – kobewarui