2014/7/25
来源:互联网 发布:闲鱼淘宝介入怎样才赢 编辑:程序博客网 时间:2024/05/16 07:26
Java反射机制
加载并获取Class对象的三种途径:
1.最常用的一种:Class.forName(); 例如:Class c1=Class.forName("/day01/src/com/xy/reflect/Person");
2.实例对象.getClass(); 例如:Class c2=new Person().getClass();
3.类.class; 例如:Class c3=Person.class;
这三种方式的异同:
相同点:
这三种方式得到的都是java,lang.Class对象,并且都需要加载到内存中去;
不同点:
1)Class
2)Class
3)Class.forName("类名");
注意:Java.lang.Class对象是单实例的,无论这个类创建了多少个对象,他的Class对象时唯一的!!!!。
new和newInstance的区别:
new:我们在java中使用new创建一个类的对象的时候,这个类是可以没有加载的。
newInstance()方法:但是使用Class对象的newInstance()方法:就必须保证:1、这个
现在可以看出,Class对象的newInstance()(这种用法和Java中的工厂模式有着异曲同工之妙)实际上是把new这个方式分解为两步,即首先调用Class加载方法加载某个类,然后实例化。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance:
new:
- 7# 2014-7-25
- 2014/7/25
- 2014-7-25-FileStream StreamReader
- 2014-7-25-c#两数相除
- 2014-7-25-web程序发邮件
- 2014-7-25-StreamReader读取txt最后一行
- 7/25
- 7/25
- 7/25
- 2014年1月1日-7日(共25小时,剩4743小时)
- 关于数据交换,不用临时变量的小算法 2014-7-25
- 2014-1-25helloword
- 2014/3/25 杂想
- 2014-04-25
- 日记2014-4-25
- 2014-04-25
- 2014-4-25
- 2014-5-25
- 【积累】嵌入式iframe子页面与父页面js通信方式
- 珍惜有事可做的日子
- Oracle的备忘一些经常出错的地方 长期更新
- hdu 4857 逃生
- Git分支管理策略
- 2014/7/25
- ibatis 报错mysql中的主键没有默认值
- (linux shell)第一章--小试牛刀(下)
- 5_透明度变化的动画
- MIB builder使用
- 笔记66-android传值方式验证
- 第六章 FP-Growth算法
- 解决nginx负载均衡的session共享问题
- HDU4876:ZCC loves cards