1. 程式人生 > >java內省 introspector

java內省 introspector

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;
    }
    public
int 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