Java反射学习和笔记——黑马训练营
2015-10-22 18:24
375 查看
-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------
1.反射的概念
反射机制指的是程序在运行时能够获取自身的信心。在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。
2.反射机制的作用
通过反射机制访问java对象的属性、方法、构造函数
反射就是把Java类中的各种成分映射成相应的java类
3.反射机制的实用
Class 获取字节的方式
boolean isPrimitive() 判断指定的Class对象是否是一个基本类型,返回boolean类型。
Field类 代表某个类中的一个成员变量
1.反射的概念
反射机制指的是程序在运行时能够获取自身的信心。在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。
2.反射机制的作用
通过反射机制访问java对象的属性、方法、构造函数
反射就是把Java类中的各种成分映射成相应的java类
3.反射机制的实用
Class 获取字节的方式
Class cls1=Data.class;调用 类名.Class,可以获取该类的字节码
public static void main(String[] args) { String str1="abc"; //获取str1字节码 Class cls1=str1.getClass(); System.out.println(cls1); }调用 对象.getClass(),如上述代码str1.getClass返回String类对应的Class对象(得到一个类的字节码)。
Class.forName("java.lang.String"); //会抛出异常(ClassNotFoundException)通过Class.forName("类名"),可以同样可以获取类名的字节码。
boolean isPrimitive() 判断指定的Class对象是否是一个基本类型,返回boolean类型。
Field类 代表某个类中的一个成员变量
class Reflecpoint{ private int x; public int y; //构造函数 public Reflecpoint(int x, int y) { super(); this.x = x; this.y = y; } } //反射类 public class Method { public static void main(String[] args) throws Exception{ Reflecpoint pt1=new Reflecpoint(3, 9); //得到类的成员变量,先要得到该类的字节码 //fieldY(共有的)不是对象身上的变量,而是类上,要用它去取某个对象上对应的值 Field fieldY=pt1.getClass().getField("y"); System.out.println(fieldY.get(pt1)); //获取fieldX(私有的) getDeclaredField获取该类中任意成员变量,包括私有 Field fieldX=pt1.getClass().getDeclaredField("x"); //将该私有字段进行取消权限检查的能力 fieldX.setAccessible(true); System.out.println(fieldY.get(pt1)); } }Method类 代表某个类中的成员方法
String str1="abc"; Method methodChar=String.class.getMethod("charAt", int.class); //invoke()调用方法 System.out.println(methodChar.invoke(str1, 1));
相关文章推荐
- java 时间相关操作
- java,awt,中文方框,中文乱码
- 将Eclipse项目转化为Android项目,并且做到结构兼容
- 浅谈Java多线程编程中Boolean常量的同步问题
- java转义字符
- Java_BigDecimal类型比较大小
- Java集合框架之Collection学习和笔记——黑马训练营
- 深入解析Java编程中的boolean对象的运用
- Spring MVC异常处理详解
- eclipse中Maven运行时报错: -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
- java Date、String、Long三种日期类型相互转换
- eclipse复制粘贴卡死
- java 图片读写
- 使用javamail发信过程中的一些问题及解决方法(转)
- Spring+SpringMVC+MyBatis遇到的所有问题汇总
- struts2 spring plugin
- Java核心技术第12章(4)
- Java的布尔类型基本介绍
- JAVA设计模式(15) —<行为型>观察者模式(Observer)
- 使用greenDao in Eclipse