java反射类的字段

java反射类的字段:

package com.ma.reflection;

import java.lang.reflect.Field;

import org.junit.Test;

import com.ma.bean.StudentBean;

/**
 * 反射字段
 * @author ma
 *
 */
public class Demo4 {
	/**
	 * 反射公有字段
	 * @throws ClassNotFoundException
	 * @throws NoSuchFieldException
	 * @throws SecurityException
	 * @throws IllegalAccessException
	 * @throws IllegalArgumentException
	 */
	@Test
	public void test1() throws ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
		//加载类
		Class<?> clazz = Class.forName("com.ma.bean.StudentBean");

		StudentBean s = new StudentBean();

		//加载字段
		Field field = clazz.getField("name");

		//调用字段
		String name = (String)field.get(new StudentBean());

		//设置字段值
		field.set(s, (Object)"关悦");

		//输出字段
		System.out.println(s.name);
		System.out.println(name);

	}
	/**
	 * 反射私有字段
	 * @throws ClassNotFoundException
	 * @throws NoSuchFieldException
	 * @throws SecurityException
	 * @throws IllegalAccessException
	 * @throws IllegalArgumentException
	 */
	@Test
	public void test2() throws ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
		//加载类
		Class<?> clazz = Class.forName("com.ma.bean.StudentBean");
		StudentBean s = new StudentBean();
		//加载字段
		Field field = clazz.getDeclaredField("work");
		field.setAccessible(true);

		//获取字段
		String work = (String)field.get(s);

		System.out.println(work);
	}
	/**
	 * 反射静态字段
	 * @throws ClassNotFoundException
	 * @throws NoSuchFieldException
	 * @throws SecurityException
	 * @throws IllegalAccessException
	 * @throws IllegalArgumentException
	 */
	@Test
	public void test3() throws ClassNotFoundException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException{
		////加载类
		Class<?> clazz = Class.forName("com.ma.bean.StudentBean");
		StudentBean s = new StudentBean();
		//加载字段
		Field field = clazz.getDeclaredField("sex");
		field.setAccessible(true);
		//获取字段
		String sex = (String)field.get(s);

		System.out.println(sex);
	}
	/**
	 * 反射字段
	 */
	@Test
	public void test4(){
		//
		//
		//
	}
	/**
	 * 反射字段
	 */
	@Test
	public void test5(){
		//
		//
		//
	}
}

  实体类Student

package com.ma.bean;
/**
 * 学生类
 * @author ma
 *
 */
public class StudentBean {

	public String name = "刘备";
	public int age;
	private String work = "教师";
	private static String sex = "男";

	public StudentBean() {
		super();
	}

	public void eat(){
		System.out.println("吃饭了。。。。。。。。。。。。。。");
	}

	public void play(String name,int age){
		System.out.println(name+":去玩了哟。。。。。。。。。"+age);
	}

	public void run(int  ...intaa){
		System.out.println(":这是可变参数方法");
	}

	private void jump(){
		System.out.println("这是私有方法");
	}

	public static void sleep(int age){
		System.out.println(age+":这是静态方法");
	}

	public static void main(String[] args) {
		System.out.println("这是main方法!!!");
	}
}

  

原文地址:https://www.cnblogs.com/majingang/p/9116063.html

时间: 2024-10-24 11:27:26

java反射类的字段的相关文章

反射类的字段

1 import java.lang.reflect.Field; 2 3 import org.junit.Test; 4 5 //反射字段 6 public class Demo2 { 7 8 // 反射字段:public String name="aaaa" 9 @Test 10 public void test1() throws Exception { 11 12 Person p = new Person(); 13 14 Class clazz = Class.forNa

java 反射类的理解与应用

本文主要解析的类是: ClassLodaer,Class,Field,Method,Constructor. 本文的目标很简单,只是对这些常用的反射类进行简单解释.对这些类中常用方法进行介绍. JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类:在运行时构造任意一个类的对象:在

Java 反射 类的连接与初始化 [ 转载 ]

Java类的连接与初始化 (及2013阿里初始化笔试题解析) 转自http://www.cnblogs.com/iceAeterNa/p/4876747.html Java虚拟机通过装载.连接.初始化来使得一个Java类型可以被Java程序所使用,如下图所示,其中连接过程又分为验证.准备.解析三个部分.其中部分类的解析过程可以推迟到程序真正使用其某个符号引用时再去解析.   解析过程可以推迟到类的初始化之后再进行,但这是有条件的,Java虚拟机必须在每个类或接口主动使用时进行初始化. 以下为主动

Java反射之剖析字段

通过反射获取字段: -- 反射方法并调用时,静态方法可以不传递对象. 字段有点小不同,即使是静态字段也需要传递对象 以下是测试类:包括一个测试实体类:Girl.java,一个反射测试Demo.java Girl.java: 1 package cn.rt.gwq; 2 3 public class Girl { 4 5 private int age = 18; 6 public int height = 168; 7 public static String name = "alice&quo

Java 反射机制学习资料

Java反射——引言 Java反射——Class对象 Java反射——构造函数 Java反射——字段 Java反射——方法 Java反射——Getter和Setter Java反射——私有字段和私有方法 Java反射——注解 Java反射——泛型 Java反射——数组 Java反射——动态代理 Java反射——类的动态加载和重新加载

java反射经典总结

1:通过反射解析这个类的构造函数 public class person { public String name="jack"; private int password=123; private static int age; public person() { System.out.println("person"); } public person(String name) { System.out.println("person name:&qu

利用反射机制,获取类的字段、方法、并实现简单调用

这篇文章是为之后要介绍Android的ICO框架做预备的,所以,如果想最近学习Android的ICO框架的同学,可以稍微看一下. 首先,简单介绍一下Java里面的反射. JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 不知道这样的一段解释,你能否看懂.如果更简单的说,反射就是能够根据你给出类名实例化出一个实实在在的对象.所以,对象的实例

【Android开发经验】使用反射,得到的类的字段、方法、并实现了简单的调用

本文后推出Android的ICO框架做准备,所以,假设你想要一个最近的一项研究Android的ICO学生框架.你可以稍微看一下. 首先,简介一下Java里面的反射. JAVA反射机制是在执行状态中,对于随意一个类,都可以知道这个类的全部属性和方法.对于随意一个对象,都可以调用它的随意一个方法和属性.这样的动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 不知道这种一段解释,你是否能看懂.假设更简单的说.反射就是能够依据你给出类名实例化出一个实实在在的对象.所以,对象的实例化

java 反射(reflect)总结,附对象打印工具类

java反射机制认知 java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取类的信息以及动态调用对象的方法的功能称为java语言的反射机制Reflection. 这就说明:Java程序可以加载一个编译期间完全未知的class,获悉其完整构造,并生成其对象实体.或对其fields设值.或唤起其methods.虽然java并不是动态语言. 如何达到上述目的,是本文探讨的内容.本文将介绍Reflection A