日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java动物类enjoy方法打印_Java反射学习-2 - 获取Class对象的三种方式

發布時間:2024/4/14 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java动物类enjoy方法打印_Java反射学习-2 - 获取Class对象的三种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 packagecn.tx.reflect;2

3 importjava.lang.reflect.Constructor;4 importjava.lang.reflect.Field;5 importjava.lang.reflect.Method;6 importjava.util.Arrays;7 /**

8 * 二、獲取一個類的Class對象的三種方式:9 (1)知道類的全路徑名:Class> clazz = Class.forName("類的全路徑名");10 (2)知道類的名字: Class> clazz = 類名.class;11 (3)知道該類的一個對象 : Class> clazz = 對象名.getClass();12 *@authorAdministrator13 *14 */

15 public classReflectLearn2 {16

17 private static String className = "java.lang.String";18 public static void main(String[] args) throwsException {19

20 //根據類的名字獲取類的Class對象

21 getClazzByClassName();22 //根據對象獲取Class對象,反射獲取類的方法,屬性,構造器

23 getCalzzByObject(newPerson());24 }25

26 public static voidgetClazzByClassName(){27 Class> clazz = Person.class;//類名.class獲取類的Class對象

28 Method[] methods =clazz.getDeclaredMethods();29 for(Method m : methods) {30 System.out.println(m);31 }32 }33

34 /**

35 * 根據類的對象獲取Class對象36 *@paramobj37 */

38 public static voidgetCalzzByObject(Object obj){39 //Class extends Object>表示通過反射獲取的對象的類型不確定,但是一定是Object類的子類40 //等價于Class> clazz = obj.getClass();

41 Class extends Object> clazz =obj.getClass();42 //2.獲得傳遞過來的類(上面的String類)的所有方法——目的就是為了調用獲得的方法

43 System.out.println("----------------獲取類的所有聲明的方法-------------------");44 Method[] methods =clazz.getDeclaredMethods();45 for(Method m : methods) {46 System.out.println(m);47 }48

49 //3.獲得類的所有聲明的屬性——目的:設置屬性或者是獲取屬性值

50 System.out.println("-------------獲得類的所有聲明的屬性---------------");51 Field[] fields =clazz.getDeclaredFields();52 for(Field field : fields) {53 System.out.println(field);54 }55

56 //4.獲得類的所有構造器——創建對象

57 System.out.println("--------------獲得類的所有構造器-----------------");58 Constructor>[] constructors =clazz.getDeclaredConstructors();59 for (Constructor>constructor : constructors) {60 System.out.println(constructor);61 }62 }63

64 }65 /*getCalzzByObject(new Person());打印結果如下66 * ----------獲取Person類的信息-------------67 public java.lang.String cn.tx.Person.toString()68 public java.lang.String cn.tx.Person.getAddress()69 public java.lang.String cn.tx.Person.getName()70 public java.lang.Integer cn.tx.Person.getId()71 public void cn.tx.Person.setName(java.lang.String)72 public void cn.tx.Person.setId(java.lang.Integer)73 public void cn.tx.Person.setAddress(java.lang.String)74 -------------獲得類的所有聲明的屬性---------------75 private java.lang.Integer cn.tx.Person.id76 private java.lang.String cn.tx.Person.name77 private java.lang.String cn.tx.Person.address78 --------------獲得類的所有構造器--------------79 public cn.tx.Person()80 public cn.tx.Person(java.lang.Integer,java.lang.String,java.lang.String)81 **/

總結

以上是生活随笔為你收集整理的Java动物类enjoy方法打印_Java反射学习-2 - 获取Class对象的三种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。