刚看完所有讲反射的视频。我觉得能提出Class和Object的关系的问题的同学是善于思考的人(因为这个问题我一开始没想)。以下个人观点:Class和Object二者应该是不同维度和角度的,但二者也确实存在关联.Class是类类型,所有类的类类型的父类都是Class,Object本身也是一个类,所以它的类类型父类应该也是Class;Object是类,所有类的父类都是Object,Class虽然是类类型,但是类类型也是一个类,所以Object也是Class的父类.这样的描述听上去似乎有点绕,也有点哲学命题的意味,以为二者讨论的问题的角度和维度是不同的。
验证代码:
//Object的类类型的父类是Class
Class<?>cm=Object.class;
System.out.println(cm);
//Class的父类是Object
Class<?> cn="hello".getClass();
Object o=cn;
System.out.println(o);
可以用所有类的共同父类Object来遍历
反射可以绕过编译阶段
转格式,转成gbk,自己百度转格式的步骤
为什么使用反射,在以后编写项目的时候一定会理解的,初级只需要记住Java反射的语法就行了,这点是真的!如果非要问为什么,可以举个例子:在一些框架中,比如Spring(只是一种情况,Spring加载类还有别的方式)容器加载类的机制就是通过解析xml等到类的相关信息,再通过Java反射创建类对象的。其实Spring在运行期间并不知道你要加载哪些类,就通过Java反射探查类信息;还有设计模式中的动态代理也是Java反射的体现!再多就请百度一下吧
就在视频播放页面的右下方啊 紧挨着播放框那里
你这样,真的,脖子迟早歪,不看了
我也觉得应该有,但是没找到
通过手机下载慕课网,可下载想学习的全部内容。
是这意思,集合是一种数据类型
你看下你添加的这行代码: m.invoke(list1, "20");
这行代码你的20是否如上加了双引号,如果加了双引号,系统认为这里的20是字符串
正确的格式: m.invoke(list1, 20);
应该可以解决你的问题,请知悉!
编译之后不都是List[Object]吗,开销确实一样
只是为了讲清楚这个原理,证明泛型只是编译的时候才会有用,绕过编译了依旧可以插入其他类型的参数
第12行代码写错了,应该是list1.add("hello");
似乎如果你去尝试自己封装框架是会用到反射机制的,目前我也是有自己尝试封装的想法,还没去实践
因为天下没有免费的午餐,免费的只是吸引人来,真正精华的肯定是要收费的
请注意查看对应的方法是否大小写不一致,等也会造成错误
我的理解是 为了更好的理解以后要学的框架
这是几年前的视频了,现在的MyEclipse估计提升了这方面的技术吧
1 从类层次看-Class类是Object的子类,从对象层次看 Object类是Class的对象
2应该不行,反射是指已存在的实物反射出抽象的结合体,而不能去创造实物
3 可以啊,成员变量等就是普通类实例的实例
4 你就钻牛角尖吧,难道你自己不是你自己的实例?
虽然这些问题都能思考出来,但你能提出也说明你动脑筋了,值得鼓励
在入门第三季里面讲了,应该实在讲list集合的时候讲过
应该还有后续课程吧
老是估计不讲了,得自己研究吧
看心情
打酱油飘过~~~
没视频了慕课网都是免费的
被private所修饰的方法,具体的-------》问度娘。