區(qū)別:
(推薦教程:java入門教程)
class是Java中的關鍵字,如public class Xxx 或者 class Xxx ,在聲明Java類時使用。
Class是一個類,相當于是對類的抽象和集合。
Class介紹:
Class是一個類,它在java.lang包中。
它的構造函數(shù)是private屬性,所以我們不能直接new一個Class對象出來。“私有構造函數(shù)。只有Java虛擬機創(chuàng)建類對象。不使用此構造函數(shù),并阻止生成默認構造函數(shù)?!?/p>
如何得到Class對象?
1、通過getClass()方法獲取到Class對象
getClass()方法是Object類的一部分。如果我們已經創(chuàng)建了某個類型的對象,那么我們可以通過getClass()方法來獲取該類型的Class的對象。
package Task; import org.junit.Test; public class Try0 { @Test public void toTry() throws ClassNotFoundException { // //forName方法:參數(shù)為其類的路徑 // 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類的一個靜態(tài)方法。所以可以直接通過Class.forName(“類的路徑”)獲取Class對象。
package Task; import org.junit.Test; public class Try0 { @Test public void toTry() throws ClassNotFoundException { //forName方法:參數(shù)為其類的路徑 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方法:參數(shù)為其類的路徑 // 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{ }
運行結果: