Java反射学习和笔记——黑马训练营
来源:互联网 发布:网页设计认证知乎 编辑:程序博客网 时间:2024/04/29 08:03
-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------
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));
0 0
- Java反射学习和笔记——黑马训练营
- 黑马训练营java学习笔记:反射
- Java线程学习和笔记——黑马训练营
- Java网络学习和笔记——黑马训练营
- Java字节流和字符流学习和笔记——黑马训练营
- Java抽象和接口的学习和笔记——黑马训练营
- Java正则表达式的学习和笔记——黑马训练营
- Java集合框架之Collection学习和笔记——黑马训练营
- Java集合框架之Map集合学习和笔记——黑马训练营
- 黑马训练营-学习笔记----Java基础
- 黑马训练营-学习笔记----Java高新技术
- 黑马训练营java学习笔记:数组
- 黑马训练营java学习笔记:集合
- 黑马训练营java学习笔记:异常
- 黑马程序员:Java学习笔记——反射
- 黑马程序员——学习笔记14.Java反射机制
- 黑马程序员 JAVA学习笔记 ——反射
- 黑马程序员 java学习笔记——反射
- java,awt,中文方框,中文乱码
- UNP总结 Chapter 4 基本TCP套接字编程
- web开发 servlet下比较cookie和session的区别
- php cli模式学习(PHP命令行模式)
- Unsupported major.minor version 51.0错误
- Java反射学习和笔记——黑马训练营
- getItemViewType() 的 返回值必须要小于 getViewTypeCount()
- Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary except
- Android 通过WebService进行网络编程,使用工具类轻松实现
- 黑马程序员——java学习日记六
- Java网络学习和笔记——黑马训练营
- ios学习路线与计划
- Python Scrapy 框架的搭建(windows32 位操作系统) 2015.10.22
- opencv2感兴趣区域以及图像尺寸求解