Java编程思想-14类型信息
2017-05-11 01:24
465 查看
一、Class对象
1、代表着该类的类型信息,被保存到同名.class文件中。2、当类第一次被使用时,JVM会加载类,自动创建类的Class对象。
3、使用".class"创建Class对象的引用时,不会自动初始化该Class对象
4、与instanceof有一定的等价性
5、动态instanceof:Class.isInstance()
二、反射
与正常机制无本质上的区别,只不过反射机制是在运行时,才获取.class文件1、java.lang.Class
//获取类类型 Class c; c = String.Class; //通过类 c = "".getClass(); //通过对象 c = Class.forName("java.lang.String"); //通过类名 //创建对象 Class<?> clazz; Constructor<?> cotor; clazz.newInstance(); //通过类类型创建 cotor.newInstance(Object...); //通过构造器创建 //获取构造器 getConstructors(): 所有公共构造器 getConstructor(Class<?>...): 对应公共构造器 getDeclaredConstructors(): 所有构造器(包括私有) getDeclaredConstructor(Class<?>...): 对应构造器(包括私有) //获取属性 getFields(): 所有公共属性 getField(String): 对应公共属性 getDeclaredFields(): 所有属性(包括私有) getDeclaredField(String) 对应属性(包括私有) //获取方法 getMethods(): 所有公共方法 getMethod(String, Class<?>...): 对应公共方法 getDeclaredMethods(): 所有方法(包括私有) getDeclaredMethod(String, Class<?>...):对应方法(包括私有)
2、java.lang.reflect.Constructor
getName(): 获取构造器名称 newInstance(Object...): 创建对象 setAccessible(boolean): 设为ture,则可访问私有
3、java.lang.reflect.Field
getName(): 获取属性名称 get(Object): 获取属性的值(指定对象) set(Object, Object): 设置属性的值(指定对象) setAccessible(boolean): 设为ture,则可访问私有
4、java.lang.reflect.Method
getName(): 获取方法名称 invoke(Object, Object...): 调用方法(指定对象) setAccessible(boolean): 设为ture,则可访问私有
三、动态代理
待续...相关文章推荐
- Java编程思想之类型信息
- Java编程思想阅读记录-类型信息
- JAVA编程思想学习总结:第十四章类型信息
- java编程思想_类型信息
- 《Java 编程思想》--第十四章:类型信息
- Java编程思想之类型信息(反射)
- Thinking in java: 14类型信息
- thinking-in-java(14)类型信息
- 【笔记】Java编程思想——类型检查
- Java编程思想学习心得(三)基本类型
- Java中RTTI(Java编程思想第14章--类型信息)整理
- 12.JAVA编程思想——集合的类型
- Java中反射(Java编程思想第14章--类型信息)整理
- java编程思想--协变返回类型
- java编程思想笔记14-类型信息
- java 编程思想 第三章 练习14
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- 【JavaWeb-14】代理Proxy、动态代理、AOP编程思想、注解、元注解、类加载器
- Java编程思想-19枚举类型
- Java中动态代理(Java编程思想第14章--类型信息)整理