黑马程序员技术交流社区

标题: 【石家庄校区】java基础进阶 [打印本页]

作者: 奔跑的蜗牛006    时间: 2018-4-23 15:13
标题: 【石家庄校区】java基础进阶
本帖最后由 小石姐姐 于 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方法操作成员变量






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2