李木人
2016-08-25 16:26
java.lang.Class 类是其他所有类类型,其他类都是Class类的实例,那么Object类是所有类的父类,它们之间的关系是什么样的?
既然java代码中每个类都是java.lang.Class类的实例对象,类中的方法、成员变量等都是对象,那么java代码能否利用反射,动态构建方法、成员变量,进而实现动态构造类?
既然java.lang.Class类的实例是普通类,普通类可以有实例,普通类的实例可不可以有实例?
java.lang.Class也是java.lang.Class的实例吗?
楼主这不叫钻牛角尖:
可以参考知乎大神的解释:
https://www.zhihu.com/question/30301819
1 从类层次看-Class类是Object的子类,从对象层次看 Object类是Class的对象
2应该不行,反射是指已存在的实物反射出抽象的结合体,而不能去创造实物
3 可以啊,成员变量等就是普通类实例的实例
4 你就钻牛角尖吧,难道你自己不是你自己的实例?
虽然这些问题都能思考出来,但你能提出也说明你动脑筋了,值得鼓励
我理解的类类型是在创建类的时候生成的记录类属性的一种类,至于动态构造类应该是不允许的。实例不会是一个类,反射里的类名,方法等等都是属性,不会是类。
反射——Java高级开发必须懂的
151467 学习 · 335 问题
相似问题