欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java内省 introspector

程序员文章站 2022-10-19 23:18:51
属性的概念 不只是字段,而是其get set 方法 且该get方法有返回值的称为属性,继承Object类的getClass方法 属性个数 阻止父类的getClass属性用 ......

属性的概念

不只是字段,而是其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());
        }
    }
}

java内省 introspector

阻止父类的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());
        }
    }
}