java內省 introspector
阿新 • • 發佈:2018-02-19
demo1 pan rip inf log string org ret pac
屬性的概念
不只是字段,而是其get set 方法
且該get方法有返回值的稱為屬性,繼承Object類的getClass方法
package com.swift.demo1; public class Person { String name; int age; String password; public String getName() { return name; } public void setName(String name) { this.name = name; } publicint getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAd() {//這個算一個屬性,雖讓沒有字段,但如果沒有返回值不算一個屬性return "getAd....."; } }
屬性個數
package com.swift.demo1; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import org.junit.jupiter.api.Test; public class TestIntro { @Test public void test1() throws Exception { BeanInfo info=Introspector.getBeanInfo(Person.class); PropertyDescriptor[] pds=info.getPropertyDescriptors(); for(PropertyDescriptor des:pds) { System.out.println(des.getName()); } } }
阻止父類的getClass屬性用
package com.swift.demo1; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import org.junit.jupiter.api.Test; public class TestIntro { @Test public void test1() throws Exception { BeanInfo info=Introspector.getBeanInfo(Person.class,Object.class); PropertyDescriptor[] pds=info.getPropertyDescriptors(); for(PropertyDescriptor des:pds) { System.out.println(des.getName()); } } }
java內省 introspector