本帖最后由 小石姐姐 于 2018-4-26 14:32 编辑
java基础进阶
Class:类,类的字节码对象. 反射机制的概述:反射前提:Reflect 先获取一个类的字节码对象,通过对象可以通过调用方法获取类的构造方法和成员方法和属性.. 反射: 运行时,可以获取任意类的所有方法和属性. 通过对象调用所有的方法和属性. 获取字节码对象方式: 1. 通过Object的getClass()方法获取,必须有类的对象/ Student s=new Student(); Class clazz=s.getClass(). 2. 类名+Class Class clazz=Student.Class. 3. Class clazz=Class.forName("com.itheima_01.Student").字符串 两个对象作比较,比的是地址值,class.包名+类名; 反射操作构造方法,成员方法,成员属性: 构造方法:没有返回值,直接用类名调用.作用:初始化成员变量,创建对象 构造方法参数列表填写参数的字节码对象: public Student(String s,int a){},==(String.class, int a.class); 创建对象: newInstance(可变参数跟随Constructor的参数) Object obj=c.newInstance(). 构造方法参数要和创建对象参数保持一致.有参数就是有参构造 JavaBean的概述和BeanUtils的使用:JavaBean:就是一个标准类,用于封装对象. 类使用公共进行修饰 提供私有修饰的成员变量,提高安全性 为成员变量提供公共的访问方式,getter和setter 提供公共无参构造 实现序列化接口 自定义BeanUtils工具类:首先私有空参构造 Apache commons提供的一个组件,主要功能是weile简化JavaBean的封装数据的操作 导入jar包,学习了三种方法.三种方法: 都是通过反射实现 1.setProperty(p,"变量名","赋值")给JavaBean对象的成员变量进行赋值 2.getProperty(p,"变量名","赋值") 3.populate(),把Map中的键值对关系赋值给类的对象 注意:set,get方法底层是通过getter和setter方法操作成员变量
|