1. 程式人生 > >Java的內省機制

Java的內省機制

 

  我現在的理解就是,Java的內省機制就是針對JavaBean的,可以獲取到類的屬性名稱,以及屬性的Getter和Setter方法,應該是在寫框架的時候才會用到內省機制,暫時不知道學了有什麼用

程式碼,我先寫一個JavaBean的類

package com.Day17;

public class IntrospectorDemo {
    private String name;
    private Integer age;

    public String getName() {
        return name;
    }

    public
void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }

至於什麼是JavaBean去百度查吧,我的理解就是有Getter和Setter屬性

main方法的類:

package com.Day17;

import java.beans.BeanInfo;
import
java.beans.Introspector; import java.beans.PropertyDescriptor; public class Test { public static void main(String[] args) throws Exception{ //Java內省機制,其實就是獲取類的屬性和屬性型別 //1,獲取JavaBean的描述物件 BeanInfo beanInfo= Introspector.getBeanInfo(Introspector.class,Object.class); //2,獲取JavaBean中的屬性的描述器
PropertyDescriptor [] pds=beanInfo.getPropertyDescriptors(); //3,打印出來 for (PropertyDescriptor pd:pds) { System.out.println("屬性名:"+pd.getName()); System.out.println("Getter:"+pd.getReadMethod()); System.out.println("Setter:"+pd.getWriteMethod()); System.out.println("----------------------------------"); } } }

分為3步,我都寫出來了,但是不知道為什麼我的程式碼執行之後沒有結果。暫時這樣吧,這就是內省機制了。