weixin_慕的地1583323
提前声明:我们在学习一样东西的时候,不懂就先死记硬背。不懂或者没有理解,是因为我们段位还不够。过一段时间反过来再看一遍可能就懂了。
foo类的类类型是指c1 c2 c3 ,和foo类有什么区别呢
1、创建类的实例:Foo foo=new Foo();
再想Java中,万物皆对象
那么Foo的实例对象是啥? 那就是老师所讲的 类类型 c1 c2..... Class c1 = foo.getClass();
2、用Foo直接创建实例对象和用c1 c2 c3 创建的实力对象有什么区别
说明Foo实例对象是:Foo foo=new Foo();
new 出来的对象是静态加载类,在编译时刻加载所有可能使用到的类。
c1 c2....是动态加载类的,这样我们编译不会报错,只有我们用到那个对象后,发现他不存在,才会报错,也就是老师所说的运行时加载类。
上诉是我对老师所讲的理解,希望对你有所帮助。
不合理的地方望指正,大家相互学习
挽其辞丶
连个问题都说不明白,还提问?
Uestc_L
想要访问普通方法需要先创建对象,不可直接通过类名访问
慕盖茨7359440
个人感觉不是java中的类都是java.lang.Class的对象,而是每一个类都有一个隐藏的属性class,这个属性里封装了该类的所有信息,比如它的字段信息,方法信息等,我们可以通过类名.class或者对象名.getClass()或者Class的静态方法Class.forName()来获取到该隐藏的class属性,进而了解这个类的详细信息。
慕粉2132323091
因为c3会抛出异常。一个变量的声明一般要写在Try的外面,即使发生的异常,catch 之后的代码也能正常引用c3。catch后面的代码有可能会是检查c3是否为空之类的。总之,声明变量一般要写在try, catch 外面.
_冬阳
谢谢各位 明白了
qq_仰望星空_96
第一句话有毛病,所有类都是class的对象,这个对象我们称之为该对象的类类型,但是你理解的结果是对的
qq_飞翔的勇气_0
是的,你既然想用反射注入实体,那么就可以获取反射的构造方法,调用就行。这算是一种方法,然后解析XML就是属于另外的一个功能
砷碲
qq_一只小小鸟_0
如果没有重写equals(),Object的equals()源码就是用==判断的
慕的地5332183
你的Foo类没有放对位置,注意下{},要在外部
时光里的赶路人
要用try catch包围
凌晨慕
动物是蚂蚁吗
慕桂英7844551
静态成员变量可以通过类名访问,也可以通过对象访问
qq_科麦艾罗_03928408
因为它们都是foo 类的类类型,并且一个类只会是一个class类的实例对象;比如一个String类,它是class类的一个对象,而这个对象就是String类的类类型(也就是c1和c2都是String的类型所以它们是相等的),这是我个人的见解,不知是否能帮到你
qq_杨欧巴_0
看这个3分钟的地方https://www.imooc.com/qadetail/254655
qq_科麦艾罗_03928408
String属于引用类型,不是基本类型
慕哥3405932
反射里会讲到点
TOTSHENG
据说框架里面用的多
Moment绝望丶
qq__9520
个人理解,就是创建实例化对象就肯定用到构造器(无参或带参),而在使用反射中的 newInstance()方法创建对象时,并没有传参数,那么可以确定是使用了该类的无参构造
qq_甲乙丙的丁_0
其中差别之一是c1 ,c2,c3都可以可以创建动态的加载类,
如果是通过new方法创建Foo类的实例对象是静态的。
qq_甲乙丙的丁_0
静月
可以用于Domain和DTO之间的转换工具。例如:
public static <T> T dto2do(Object dto, Class<T> domain) {}
qq_痴心妄想_0
(官方)移动端的APP可以缓存,PC端不能
(非官方)PC端在浏览器中能够用插件下,有些插件下载是很多短视频,有些插件是下载完整的,
(非官方)利用视频网址解析工具,解析出来能够下载
五十阳
你拿类名去和一个对象比较?
爱笑的毛毛虫
鼠标停留在Class,按下Ctrl,会出现链接,点击
慕用0623718
类的实例 和 类的对象是一样的 应该没有实例对象这个说法
氧化的灵魂
你先搞清楚局部变量和全局变量,你foo1和foo2都是在try那个括号里面定义的,所以这个变量只在括号里面起作用,出了括号就没了
张常文追梦
搞事情啊