| 1. java類用于描述一類事物的特性,該類事物有什么屬性,沒有什么屬性,值域這個屬性的值是什么,則是由這個類的實例對象來確定的,不同的實例對象有不同的屬性值。Java程序中的各個Java類,他們是否屬于同一類事物,是不是可以用一個類來描述這類事物呢?這個類的名字就是Class,要注意與小寫class關鍵字的區別哦。Class類描述了哪些方面的信息呢?類的名字,類的訪問屬性,類所屬的包名,字段名稱的列表,方法名稱的列表,等等。學習反射,首先就要明白Class這個類。 |
package com.itcast.day1;public class ReflectTest { public static void main(String[] args)throws Exception { //分別用三種方式得到 String類在內存中的字節碼 Class cls1=String.class;//01. 類名.class String str="123"; Class cls2=str.getClass();//02. 實例.getClass() String classUrl="java.lang.String"; Class cls3=Class.forName(classUrl);//03. Class.forName(類名) //三種方法是得到了同一份字節碼。 System.out.PRintln(cls1 == cls2);//true System.out.println(cls1 == cls3);//true System.out.println(cls1.isPrimitive());//false,不是基本類型的字節碼 System.out.println(int.class.isPrimitive());//true 基本類型的字節碼 System.out.println(int.class == Integer.class);//false 基本類型和包裝類型不是一份字節碼 System.out.println(int.class == Integer.TYPE);//true Integer.TYPE就代表包裝對應的基本類型的字節碼 System.out.println(int[].class.isPrimitive());//false 數組也是一種類型,但不是基本類型 System.out.println(int[].class.isArray());//true 是否是數組 } } 新聞熱點
疑難解答