Java中的“.class”关键字

时间:2013-09-01 12:10:53

标签: java android class

我目前正在学习使用 Android Programming: The Big Nerd Ranch Guide 这本书在Android上编程,我遇到过这行代码

Intent i = new Intent(getActivity(),CrimeActivity.class);

我似乎无法理解为什么Intent的构造函数需要第二个参数。 如果我的知识对我有用,那么Java中的类只是对象的蓝图。

所以我很困惑为什么在Intents构造函数中将文字类作为参数传递?

那里发生了什么?

3 个答案:

答案 0 :(得分:5)

在Java中,除了基本类型之外的所有东西都是一个对象。我们编写的类定义包含在Class of Class类中。例如:

class Foo{
}

Foo.class Class 类的实例。

类对象包含有关类信息的信息,例如:名称,实例变量列表,方法列表等。

此信息可在运行时通过reflection使用。

Documentation

答案 1 :(得分:2)

根据官方开发者指南 -

  

这提供了一种创建意图的方便的便捷方法   执行硬编码的类名,而不是依赖于系统   为你找一个合适的课程。

答案 2 :(得分:1)

你是对的,这个类就像一个对象的蓝图。你给Intent创建了那个“蓝图”,因为Intent本身(分别是最终为你的Intent提供服务的Android系统)将创建你传递给它的类的实例(一个对象)。

这就是你将类而不是实例传递给Intent的原因。