例如,当我们创建了一个意向,我们使用classname.class在Android中引用了什么?
Intent i = new Intent(MainActivity.this,LoginActivity.class);
是什么.class
指什么?它是作为一个字符串类的名称?还是它本身是类?为什么我不能通过LoginActivity
而不是LoginActivity.class
?
例如,当我们创建了一个意向,我们使用classname.class在Android中引用了什么?
Intent i = new Intent(MainActivity.this,LoginActivity.class);
是什么.class
指什么?它是作为一个字符串类的名称?还是它本身是类?为什么我不能通过LoginActivity
而不是LoginActivity.class
?
它指的是Class
对象本身的一个实例。请参阅Java documentation了解Class
。在这种情况下,Intent
constructor需要您想要启动的Activity
的实例。这也称为显式Intent
,因为您明确定义了您希望启动的组件,而隐式的Intent
在运行时由Android解析。
如果您查看适用的构造函数public Intent (Context packageContext, Class<?> cls)
文档,您会注意到第二个参数需要一个类对象。为任何对象提供课程的方法是做object.getClass()
或<className>.class
。
ClassName.class
指您想要从当前活动打开的目标活动。 它像一个hiperlink在html <a href="contactus.html">contact</a>
当你点击联系链接contactus.html页面将被打开。