HashMap的扩容
初始容量是16,加载因子是0.75 (即加载到第12个时开始扩容)
key和value相当于 x和f(x)之前的映射关系
反射
反射是发生在程序运行期间的行为--java的一个动静态机制
获取源头(Class对象):
1.对象.getClass()
2.类名.class
3.Class.forName("类的权限命名:包名+类名")
通过反射创建对象
1)通过反射获取到类中的构造器
2)根据构造器创建对象
构造器Constructor对象.newInstance(实参)方法
直接通过class类的newIntance()方法创建对象,方法没有参数 调用空构造
同理可以获得字段、方法等类里面的很多信息
Method getDeclaredMethod(String name, Class<?>... parameterTypes)
返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。
Method[] getDeclaredMethods()
Method getMethod(String name, Class<?>... parameterTypes)
返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。
Method[] getMethods()
返回一个包含某些 Method 对象的数组,
反射操作类中的字段 能设置值 能获取值
Field getDeclaredField(String name)
返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。
Field[] getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
Field getField(String name)
返回一个 Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段。
Field[] getFields()