在创建Android意图并指定目标活动时,这种".class"语法是什么?

hun*_*unt 6 java android android-intent

这也许是一个愚蠢的问题,但我在其他地方找不到任何东西.我正在浏览Android的基础知识,当我尝试创建一个专门用于运行我选择的另一个活动的intent时,教程告诉我以这种方式构造它:

Intent intent = new Intent(this, DisplayMessageActivity.class);
Run Code Online (Sandbox Code Playgroud)

"DisplayMessageActivity"是我正在运行的活动的类.我没有得到的是,什么是".class"部分?据我所知,该参数应该是一个Class对象."class"是我的Activity子类的一个字段吗?或者当我说"DisplayMessageActivity.class"时,我指的是一个实际的.class文件(这看起来有点奇怪)?

任何帮助表示赞赏!

Mig*_*uel 5

虽然.class看起来是一个普通的字段访问,但它实际上是一种特殊的语言结构,在Retrieving Class Objects Java教程中有很好的解释.

它说,引用:

如果类型可用但没有实例,则可以通过在类型名称后附加".class"来获取Class.这也是获取基本类型的Class的最简单方法.

他们举了一个例子:

boolean b;
Class c = b.getClass();   // compile-time error

Class c = boolean.class;  // correct
Run Code Online (Sandbox Code Playgroud)


在我日常使用Java的过程中,这不是一个非常常用的构造,很多都没有意识到它.通常,在一般地指定类而不是它们的实例时,它与泛型等一起使用.

我希望这有帮助.:)