`

java反射----获得指定类的属性和方法

    博客分类:
  • java
 
阅读更多
Person.java代码如下:
package com.reflect.bean;

public class Person {

	private String name;
	
	private int age;
	
	public Person(){
		
	}
	
	public Person(int age){
		this.age = age;
	}
	
	public Person(String name){
		this.name = name;
	}
	
	public Person(String name,int age){
		this.name = name;
		this.age = age;
	}

	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;
	}
	
	@Override
	public String toString(){
		return "["+this.name+" "+this.age+"]";
	}
	
}



Test.java代码如下:
package com.reflect.test;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

import com.reflect.bean.Person;

public class Test {

	public static void main(String[] args) {
		Class<?> demo = null;
		try{
			demo = Class.forName("com.reflect.bean.Person");
		}catch (Exception e) {
			e.printStackTrace();
		}
		Person person1 = null;
		Person person2 = null;
		Person person3 = null;
		Person person4 = null;
		Constructor<?> cons[] = demo.getConstructors();
		try{
			person1 = (Person)cons[3].newInstance();
			person2 = (Person)cons[1].newInstance("zhangsan");
			person3 = (Person)cons[0].newInstance(20);
			person4 = (Person)cons[2].newInstance("lisi",20);
		}catch (Exception e) {
			e.printStackTrace();
		}
		Field[] field = demo.getDeclaredFields();
		Method[] method = demo.getDeclaredMethods();
		System.out.println("method : "+method[0]);
		System.out.println("field : "+field[0]);
		System.out.println(person1);
		System.out.println(person2);
		System.out.println(person3);
		System.out.println(person4);
	}
}



运行结果如下:
method : public java.lang.String com.reflect.bean.Person.toString()
field : private java.lang.String com.reflect.bean.Person.name
[null 0]
[zhangsan 0]
[null 20]
[lisi 20]
分享到:
评论

相关推荐

    java 反射得到某个方法

    总结一下,Java反射机制为我们提供了在运行时检查和操作类、方法的能力。通过`Class.forName()`获取Class对象,再利用`getMethod()`获取方法,最后使用`invoke()`执行方法。在实际开发中,理解并谨慎使用反射,能够...

    java反射-在form提交的一些应用

    Java反射是Java编程语言中的一个强大工具,它允许程序在运行时检查并操作类、接口、字段和方法的信息。在“java反射-在form提交的一些应用”这个主题中,我们将探讨如何利用反射机制来处理HTML表单提交的数据,以及...

    Java方法反射调用demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...

    java反射 java反射 java反射java反射

    Java反射是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并操作类的对象。在Java中,反射机制提供了强大的能力,包括在运行时检查类的结构、创建对象实例、调用方法以及访问和修改字段值。...

    反射,动态加载指定类调用类中的方法

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作对象的内部属性和行为。反射机制使得我们能够在运行时动态地获取类的信息,并且能够创建对象、调用方法、访问字段,甚至改变类...

    656.654.JAVA基础教程_反射-调用运行时类中的指定属性(656).rar

    Java反射机制是Java编程语言中一个非常强大的工具,它允许我们在程序运行时检查类、接口、字段和方法的信息,甚至动态地创建对象并调用其方法。本教程将深入讲解如何利用反射来调用运行时类中的指定属性,这对于理解...

    反射实例-JAVA反射机制.doc

    Java 反射机制是 Java 语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。这种能力使得 Java 应用程序更加灵活,能够在运行时发现和修改自身的行为。然而,反射...

    Java反射动态加载实例类

    1. **读取配置信息**:首先,通过`Properties`类读取配置文件(`D:\\xuliang.txt`),其中包含待加载类名、字段名、字段值和方法名等信息。 2. **加载类**:使用`Class.forName()`方法根据配置文件中的类名动态加载...

    java课件-6-反射

    一旦获取到Class对象,就可以获取类的元数据,如类名、构造器、字段和方法。 三、创建对象 反射允许我们通过`Class.newInstance()`方法无参构造器创建对象,或者通过`Constructor`对象的`newInstance()`方法使用...

    658.656.JAVA基础教程_反射-调用运行时类中的指定构造器(658).rar

    反射是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 2. ...

    JAVA基础--JAVA中的反射机制详解

    Java反射机制是Java语言提供的一种强大的能力,它允许程序在运行时检查类、接口、字段和方法的信息,并能动态地创建对象和调用方法。在Java中,反射机制主要用于以下几个方面: 1. **获取类信息**:通过`Class`类的...

    java-反射机制-源码

    Java反射机制是Java编程语言中的一个强大工具,它允许运行时动态访问类的信息,包括类名、属性、方法以及构造器等。通过反射,我们可以在程序执行过程中创建和操作任何类的对象,即使在编译时未知其具体类型。这种...

    java反射机制工具类

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息。这个特性使得Java具备了高度的灵活性,能够在运行时动态地发现和使用类的属性和方法,即使这些信息在编译时...

    652.650.JAVA基础教程_反射-获取运行时类的方法的内部结构(652).rar

    Java反射是Java编程语言中的一个强大工具,它允许程序在运行时检查并操作类、接口、字段和方法等对象。这个教程"652.650.JAVA基础教程_反射-获取运行时类的方法的内部结构(652)"显然是针对Java反射机制的深入学习,...

    java反射.pdf

    Java反射是Java编程语言的一个特性,它允许运行时检查和操作程序结构(类、字段、方法等)。反射的主要用途包括但不限于:动态实例化对象、访问私有成员、调用方法、获取类的信息等。 #### 二、如何创建反射类? ...

    java反射给指定字段赋值

    在Java编程语言中,反射是一个非常强大的功能,它允许程序在运行时检查或“反映”自身,并直接操作内部属性(如类、方法和字段)。本文将深入探讨如何利用Java反射来访问并修改类的私有字段。 #### 反射的基本概念 ...

    Java常用的反射方法

    反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() 2.4 总结 3. 反射获取属性变量 3.1 获取所有public修饰符的成员变量 3.2 获取指定字段并赋值 3.3 获取...

    通过java的反射技术获取,某个包路径下的类,并以表格形式打印类的属性注解注释及属性名称等

    Java反射技术是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个技术主要基于Java.lang.reflect包中的类和接口,如Class、Constructor、Method和Field等。...

    java反射机制

    Java反射机制是在运行时通过Reflection APIs获取任何已知类的内部信息,包括类的修饰符(如public、static等)、超类、实现的接口、字段和方法的全部信息。它还允许在运行时改变字段内容、调用方法,甚至创建未知类...

    Java基础-注解和反射

    **反射机制**是Java语言的一个重要特性,它使得程序可以在运行时动态地获取任何类的信息,并直接操作任意对象的属性和方法。这使得Java能够像某些动态语言一样,实现运行时的行为调整。 **反射的常见应用场景:** -...

Global site tag (gtag.js) - Google Analytics