区别:
(推荐教程:java入门教程)
class是Java中的关键字,如public class Xxx 或者 class Xxx ,在声明Java类时使用。
Class是一个类,相当于是对类的抽象和集合。
Class介绍:
Class是一个类,它在java.lang包中。
它的构造函数是private属性,所以我们不能直接new一个Class对象出来。“私有构造函数。只有Java虚拟机创建类对象。不使用此构造函数,并阻止生成默认构造函数。”
如何得到Class对象?
1、通过getClass()方法获取到Class对象
getClass()方法是Object类的一部分。如果我们已经创建了某个类型的对象,那么我们可以通过getClass()方法来获取该类型的Class的对象。
package Task; import org.junit.Test; public class Try0 { @Test public void toTry() throws ClassNotFoundException { // //forName方法:参数为其类的路径 // Class a = Class.forName("Task.Try1"); // System.out.println(a); //通过对象得到类 Try1 try1 = new Try1(); Class b = try1.getClass(); System.out.println(b); } } class Try1{ }
运行结果:
(视频教程推荐:java视频教程)
2、通过forName()方法获取到Class对象
Class.forName方法是Class类的一个静态方法。所以可以直接通过Class.forName(“类的路径”)获取Class对象。
package Task; import org.junit.Test; public class Try0 { @Test public void toTry() throws ClassNotFoundException { //forName方法:参数为其类的路径 Class a = Class.forName("Task.Try1"); System.out.println(a); } } class Try1{ }
运行结果:
3、类.class获得Class对象(类字面常量)
package Task; import org.junit.Test; public class Try0 { @Test public void toTry() throws ClassNotFoundException { // //forName方法:参数为其类的路径 // Class a = Class.forName("Task.Try1"); // System.out.println(a); // //通过对象得到类 // Try1 try1 = new Try1(); // Class b = try1.getClass(); // System.out.println(b); //类字面常量 Class c = Try1.class; System.out.println(c); } } class Try1{ }
运行结果: