java 之反射笔记(一)
来源:互联网 发布:家庭装修预算软件 编辑:程序博客网 时间:2024/06/05 08:34
反射 就是 把java类中的各种成分映射成相应的类。
例如:Field Method Constructor Package
获得字节码的三中方式:
1.类名.class
2.对象.getClass()
3.Class.forName("类名")
Class.forName("类名")的作用就是获得字节码:
1.如果虚拟机里边有,则直接拿到;
2.如果没有,就让类加载器加载进来,缓存在虚拟机里,拿到
九个预定义Class实例对象:
八个基本类型 boolean byte char short int long float double
和一个void.class
Constructor[] === String.getConstructors()
得到某一个构造方法:
Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
实例化:
1. new String();
2. constructor.newInstance(initargs)
//class----->constructor----------->new object
3. Class.forName("java.lang.String").newInstance();//默认构造方法
Field========>成员变量
Method========>成员方法
方法与对象没关系,是属于类的
先得到方法,然后针对某个对象调用方法
method对应的是一个静态方法,不需要实例对象
method.invoke(null)
ArrayList 有序集合,把对象的引用放进去按顺序
HashSet 会先比较两个对象是否相同,引用相同的就不会放进去
如果没有重写hashCode 和 equals方法,就比较内存地址
根据哈希码 找到对象对应的存储区域
根据内存地址 算出哈希码,造成存储区域不一样。即使equals方法比较相等,如果没有重写hashCode方法,也可以放进去
例如:Field Method Constructor Package
获得字节码的三中方式:
1.类名.class
2.对象.getClass()
3.Class.forName("类名")
Class.forName("类名")的作用就是获得字节码:
1.如果虚拟机里边有,则直接拿到;
2.如果没有,就让类加载器加载进来,缓存在虚拟机里,拿到
九个预定义Class实例对象:
八个基本类型 boolean byte char short int long float double
和一个void.class
Constructor[] === String.getConstructors()
得到某一个构造方法:
Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
实例化:
1. new String();
2. constructor.newInstance(initargs)
//class----->constructor----------->new object
3. Class.forName("java.lang.String").newInstance();//默认构造方法
Field========>成员变量
Method========>成员方法
方法与对象没关系,是属于类的
先得到方法,然后针对某个对象调用方法
method对应的是一个静态方法,不需要实例对象
method.invoke(null)
ArrayList 有序集合,把对象的引用放进去按顺序
HashSet 会先比较两个对象是否相同,引用相同的就不会放进去
如果没有重写hashCode 和 equals方法,就比较内存地址
根据哈希码 找到对象对应的存储区域
根据内存地址 算出哈希码,造成存储区域不一样。即使equals方法比较相等,如果没有重写hashCode方法,也可以放进去
- java 之反射笔记(一)
- Java反射笔记一
- Java 反射学习笔记(一)
- Java反射机制学习笔记(一)
- Java反射之Constructor(一)
- Java反射之Method(一)
- Java反射之Field(一)
- Java反射之应用(一)
- java基础巩固之反射(一)
- JAVA 反射 总结 之 初级 (一)
- Java回炉之反射(一)
- java之反射技术(一)
- Java高级开发之反射(一)
- Java高级之反射(一)
- Java基础之反射(一)
- Java基础之反射(一):反射入门
- java 之 反射笔记(二)
- (十三)、Java复习笔记之反射
- 表值函数
- 分割邮件地址
- 如何将信息从一个数据库移到另一个数据库
- Android 系统信息(内存、cpu、sd卡、电量、版本)获取
- 设计模式六大原则(3):依赖倒置原则
- java 之反射笔记(一)
- 如何重设 MoinMoin Wiki 的用户密码
- java 之 反射笔记(二)
- winpcap抓包函数pcap_loop()
- Ubuntu下OpenJDK对中文字体支持的解决
- java 之 集合(hashSet)示例
- JAVA命名规范总结
- JSP静态包含和动态包含问题
- java 之 classpath下文件路径