2019-05-10

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()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容