关于反射的个人理解

最近阅读了LayoutInflater的源码,它的inflate()方法使用XmlParser将xml文件解析,并创建View实例。创建View实例时使用了反射:代码(也就是dalvick虚拟机)只知道View的类的名字(String),需要创建View的实例。
之前读Java编程思想的反射部分有一些疑问:
1.需要创建类的实例,使用A a = new A();就可以了,为什么Java有反射机制?
A a = new A(); 是code通过代码创建对象,
Java反射机制是允许代码自己去创建对象(只知道类名)。
2.Java是面向对象的语言,类的行为都被封装成方法,为何要通过反射暴露出来?
创建实例并使用
3.反射获取的Method实质是什么?
函数指针
4.反射为何效率比较低
jvm执行普通的字节码可以进行虚拟机优化,效率比较高;
反射并不能进行虚拟机优化,导致效率低。
不知道这些理解是否合适?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值