1.享元模式:遇到很多小的对象,将他们相同的部分提出来,不同的部分作为参数,成为一个类的模式。
2.枚举是一种特殊的类,其中每个元素的都是该类的一个实例对象
3.反射:
得到字节码的三种方式:
1).知道类名:直接类名 .class 例如:System.class
2).知道对象名:对象名.getClass()
3.不知道类名和对象名:类加载器加载Class.forName("java.util.Date"),这种情况主要在反射的时候用,因为在写源程序的时候还不知道类的名字,是通过传递过来的字符串得到的类名
反射概念:把Java类中的各种成分映射成相应的Java类,例如:Java类有其所属的包,则Class类有方法getPackage()来返回类的包Package这个类,Java类中有方法,则Class类中有方法getMethod()来返回类的方法Method这个类
Integer.TYPE打印返回结果是int,就是int.class
4.反射创建实例对象的方法:
1)获得Constructor类的对象,通过对象的newInstance方法来获得实例对象
2)Class.forName("java.lang.String").newInstance()方法
5.用反射方法调用函数,获取对象变量
调用函数用Method类的invoke方法,传入类的对象和方法参数
获取对象变量用Field类的get方法,传入类的对象
//数组转换成List:Arrays.asList(int[])
5.反射框架应用:
Properties 类等效于一个HashMap,里面装的是键值对,在HashMap基础上扩展了功能,将内存中的键值对存到硬盘中,也可以在初始化的时候将硬盘里面的键值对加载进来