首先在这里提出这个问题的道歉。我知道这是一个简单的问题,很快就可以很快回答。但是,搜索Java .class是一个加载的搜索术语,它没有任何用处。
话虽如此,我刚刚开始学习Java,我刚刚遇到过这样的事情:
Intent i = new Intent(this, ReminderManageActivity.class);
我不确定,但我认为ReminderManageActivity.class是一个提供类名称字符串的属性?这是对的吗?
答案 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;
答案 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