没有"的对象创建NEW"关键词

时间:2017-08-25 10:30:23

标签: java android

您好我想知道这是什么机制,我们获取已经在java或android中创建的对象。例如在android中:

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

上面的第一个返回一个我们从未实例化的toast对象 第二个返回我们从未创建过的上下文对象。

这是如何发挥作用的,对象在哪里创建?是否与创建此对象的系统有关?我是否应该关注它们是如何被创建的,或者是浪费时间而我应该只是根据文档使用对象而不知道这一点。我认为它是单例设计模式但是上下文的构造函数是公共和上下文也是抽象的,所以除非我们使用sublcass,否则我们无法实例化它。任何有正确答案的人都请帮忙,因为从长远来看,这对我的编程很有帮助。

2 个答案:

答案 0 :(得分:1)

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

假设你有一个名为MyClass的类,它有一个返回MyClass实例的getObject方法,所以这个方法的调用者只需调用该方法而不需要任何新的'关键字,你将返回他的实例。

答案 1 :(得分:0)

请记住,Android主要是一个为您提供艰苦工作的框架。实例化一个活动时,您正在创建一个继承自公共抽象类Context的子类的子类。所以从本质上讲,你实际上只是创建了一个继承了所有这些方法的类