请确认java中的.class

时间:2011-08-03 17:45:41

标签: java android

  

可能重复:
  In Java, what does a reference to Class.class do?

首先在这里提出这个问题的道歉。我知道这是一个简单的问题,很快就可以很快回答。但是,搜索Java .class是一个加载的搜索术语,它没有任何用处。

话虽如此,我刚刚开始学习Java,我刚刚遇到过这样的事情:

Intent i = new Intent(this, ReminderManageActivity.class);

我不确定,但我认为ReminderManageActivity.class是一个提供类名称字符串的属性?这是对的吗?

5 个答案:

答案 0 :(得分:9)

我知道这听起来很愚蠢,但class是一个代表班级的Class对象。

如果要实例化/使用某些类,并且希望将此类作为参数,则不能只编写Intent i = new Intent(this, ReminderManageActivity);,因为ReminderManageActivity不是对象

答案 1 :(得分:3)

在Java中,给定一个对象,一个类的实例,您可以通过编写以下代码来获取类名:

Class clazz = obj.getClass();
String clazzName = clazz.getName();

有时您希望为给定的类创建一个Class对象。在这种情况下,您可以通过编写类似于以下示例的代码来执行此操作:

Class clazz = MyClass.class;

source

答案 2 :(得分:1)

如果您刚开始学习java,那么当您学习类型信息或RTTI(运行时类型信息)时,您会看到更多关于此的信息

ReminderManageActivity.class 

被称为类文字,它生成对Class对象的引用,该对象包含有关该类的信息 它类似于静态方法:

Class.forName("ReminderManageActivity");

答案 3 :(得分:0)

它是java.lang.Class的一个实例,它是Java Reflection API的一部分。您可以获得有关API here

的更多信息

答案 4 :(得分:0)

因为Java中的所有内容都是一个对象,所以即使是类也可以用对象来表示。

ReminderManageActivity.class返回表示ReminderManageActivity类的Class对象。

Class对象包含类的信息,例如类'name,class'方法,类的变量等。您可以查看类API以获取更多信息:http://download.oracle.com/javase/6/docs/api/java/lang/Class.html