JAVA基础笔记(十五)反射
来源:互联网 发布:windows phone 输入法 编辑:程序博客网 时间:2024/04/30 16:28
反射: 通过对象找到对象的原始数据; Class类是所有反射类的源头;Java里对于Class类有三种实例化模式: 1,getClass(),所有的实例化对象都具备此操作,必须要实例化对象才可以或得Class累的对象; 2,类.class:取得类对象;不需要对象实例化; 3,public static Class<?>forName(String className)方法获取该Class类Class类里的方法: 代替new实例化对象 1、public T newInstance() throws InstantiationException,IllegalAccessException.两种实例化方式: 1、Class<?> cls = Class.forName("包.类"); 2、Class<Phone> cls = Phone.class;实例化: Phone p = (Phone)cls.newInstance();//第一种方式对象需要强转型但是可以操作properties文件. Phone p = cls.newInstance(); //第二种方式实例化对象不需要转型;当一个类的非反射Class类对象之后就可以取得类的所有信息,在Class类中的方法: 1、取得完整类名称:public String getName(); 2、取得类名称:public String getSimpleName(); 3、取得父类Class对象:public Class<? super T>getSuperclass(); 4、取得所有实现的接口信息:public Class<?>[]getInstances();反射操作构造方法: Class类中提供了与构造方法有关的方法: 取得全部构造:public Constructor<?>[] getConstructors() 取得指定构造,并且设置参数类型:public Constructor<T> getConstructor(Class<?>...parameterTypes) 两个方法都会返回有一个Java.lang.Constructor类的实例化对象;反射调用普通方法: 第一组操作:取得所有的方法,包括继承来的方法; 取得所有方法:public Method[]getMethods 取得第一个方法:public Method getMethod(String name,Class<?> ...parameterTypes) 第二组操作:取得本类定义的方法,不关心继承方法; 取得所有方法:public MEthod[] getDelaredMethods() 取得第一个方法:public Method get DeclareMethod(String name,Class<?>...parameterTypes)在Method类中有一个重要的方法,此方法指的是放射调用类方法; ·执行方法体:public Object invoke(Objkect obj,Object ...args)在此方法之中需要传入一个要调用此方法的实例化对象,调用时传入所需要的参数;成员:Field,反射调用成员变量 第一组:取得继承来的成员: 取得全部成员:public Field[] getFields(); 取得一个成员:public Field[] getFields(String name); 第二组:取得本类成员: 取得全部成员:public Field getDeclaredFields(); 取得单个成员:public Field getDeclaredFiled(String name);设置成员内容:public void set(Objecy obj,Object value)取得成员内容:public void setAccessible(Object obj)设置封装:public void setAccessible(boolean flag)设置成员之前要先取消封装:setAccessible(true);类加载器classLoader: 取得类加载器:public ClassLoader getClassLoader();
0 0
- JAVA基础笔记(十五)反射
- Java基础笔记-反射
- java 从零开始,学习笔记之基础入门<异常>(十五)
- java基础(十五) ---- StringTokenizer
- java反射机制基础笔记
- java的反射基础笔记
- 笔记:Java反射机制基础
- java学习笔记(十五)
- Java学习笔记(十五)
- Java学习笔记(十五)
- Java学习笔记(十五)
- java学习笔记(十五)
- java基础学习笔记(六) java反射
- Python学习笔记(十五):类基础
- HTML5基础学习笔记(十五)
- javaScript笔记(十五)DOM基础
- java反射(Reflection)基础(个人学习笔记)
- java基础整理十五(集合二)
- 内部排序之快速排序(QuickSort)
- Ubuntu 14.04系统下配置固定IP地址
- RBF神经网络通用函数 newrb, newrbe
- 地址传参
- git知识点(持续更新中)
- JAVA基础笔记(十五)反射
- 正则表达式的相关前端题目
- 《Effect C++》学习------条款09:绝不在构造和析构过程中调用virtual函数
- JAVA基础笔记(十六)JDBC
- 【斯坦纳树】【LA5717】Beijing 2011 Peach Blossom Spring解题报告
- 理解和正确使用Java中的断言
- leetcode Submission Details
- HBase查看表大小
- ButterKnife的使用