框架基础(3)_获取类对象的属性、方法和构造器

本系列博客汇总在这里:框架基础 汇总

获取类对象的属性、方法和构造器


代码演示

package cn.wyx.reflect;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ReflectDemo1
{
	public static void main(String[] args) throws Exception
	{
		Class<?> class1 = Class.forName("cn.wyx.reflect.Person");
		
		// 获得类对象的一个属性
		Field field = class1.getDeclaredField("address");
		System.out.println(field);

		// 获得一个具体的方法
		Method method = class1.getDeclaredMethod("getName", new Class[] {});
		Method method1 = class1.getDeclaredMethod("setName",new Class[] { String.class });
		System.out.println(method);
		System.out.println(method1);

		// 获得构造器
		Constructor<?> constructor = class1.getDeclaredConstructor(new Class[] {});
		System.out.println(constructor);

		Constructor<?> constructor2 = class1.getDeclaredConstructor(new Class[] { Integer.class,String.class, String.class });
		System.out.println(constructor2);
	}
}
package cn.wyx.reflect;

public class Person
{
	private Integer id;

	private String name;

	private String address;

	public Person()
	{
	}

	public Person(Integer id, String name, String address)
	{
		super();
		this.id = id;
		this.name = name;
		this.address = address;
	}

	private static void printInfo()
	{
		System.out.println("静态方法的反射调用");
	}

	public Integer getId()
	{
		return id;
	}

	public void setId(Integer id)
	{
		this.id = id;
	}

	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public String getAddress()
	{
		return address;
	}

	public void setAddress(String address)
	{
		this.address = address;
	}

	@Override
	public String toString()
	{
		return "Person [id=" + id + ", name=" + name + ", address=" + address
				+ "]";
	}
}

在这里插入图片描述

如有错误,欢迎指正!

发布了449 篇原创文章 · 获赞 210 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_36260974/article/details/103537204
今日推荐