反射与注解
2015-08-09 12:01
316 查看
目录
反射注解
反射
java反射:可以获取正在运行的Java对象,调用该对象的属性、方法、构造器。实现反射的类:
Class类:它表示正在运行的Java应用程序中的类和接口
Field类:提供有关类或接口的属性信息,以及对它的动态访问权限
Constructor:提供关于类的单个构造器的信息以及对它的访问权限
Method:提供关于类或接口中某个方法信息
反射的使用:
[code]package com.collection; public class Stu { private String name ; private int age; public Stu(){ } public Stu(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; // } // }
[code]package com.collection; import java.lang.reflect.Field; public class Test { public static void main(String[] args) { Stu zhangsan=new Stu(); Class<Stu> stu= Stu.class;//获得Stu类的对象,从而可以调用该类的属性、方法、构造器 try { Field field=stu.getDeclaredField("age");//获得stu类的age属性 field.setAccessible(true);//设置不访问属性的访问修饰符 field.set(stu, 18); field.setAccessible(false); } catch (NoSuchFieldException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
注意:
导包:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
注解
注解:Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。相关文章推荐
- 为什么不应该重写service方法?
- Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
- ChibiOS/RT 2.6.9 CAN Low Level Driver for STM32
- JUnit4教程-高速入口
- Arduino 软重启 软件reset
- 2014年末回顾-总结-oracle dba 的成长之旅
- RunLoop学习笔记,从CF层面了解由于CFRunLoopMode机制
- 精研Servlet,HttpServlet的实现追究
- Centos 6.5下一个SNMP简单配置(snmp protocol v3,监控宝)
- mfc主窗口添加背景图片后,如何实现在背景图片上输出文字
- pdo对象认识与应用
- Source Insight Utils.em里快速宏定义
- Android Handler的使用(2)
- C++学习
- AOP annotation
- 链表逆序
- 梳排序
- 《python标准库》--string
- OFBIZ工具类 (转载:chinaUnix.net 帖子作者 :surpass_li )
- test