最赞回答 / 慕沐3571032
个人感觉不是java中的类都是java.lang.Class的对象,而是每一个类都有一个隐藏的属性class,这个属性里封装了该类的所有信息,比如它的字段信息,方法信息等,我们可以通过类名.class或者对象名.getClass()或者Class的静态方法Class.forName()来获取到该隐藏的class属性,进而了解这个类的详细信息。
2019-05-27
对与老师将的动态代理不是很明白然后找了一篇博客写的不错,大家可以参考
https://www.cnblogs.com/xdp-gacl/p/3971367.html
https://www.cnblogs.com/xdp-gacl/p/3971367.html
2019-05-24
最赞回答 / jerry4013
因为c3会抛出异常。一个变量的声明一般要写在Try的外面,即使发生的异常,catch 之后的代码也能正常引用c3。catch后面的代码有可能会是检查c3是否为空之类的。总之,声明变量一般要写在try, catch 外面.
2019-04-19
最赞回答 / 慕莱坞8174698
args 是 使用 命令行的参数列表 形如: java 指定的程序名 参数 args[0]即 参数列表的 第一个参数 <...code...>
2019-04-12
最后做一个总结,如果按照我的理解,Class c1 = Foo.class; 指的就是,获取自定义类型Foo的字节码对象。Class c2 = Cat.class; 指的就是获取自定义类型Cat的字节码对象。还有一种说法就是获取引用类型Cat的字节码对象。因为任何自定义类型都是引用类型,反过来说,只有引用类型可以自定义。
2019-04-06
类最后会编译成字节码,Class实际上不是类的对象,而是字节码对象。这里还要进一步说明什么是类,我对类的理解,就是自定义数据类型,在Java中有基本数据类型,但肯定是不够用的,所以程序员可以自定义一些类型。比如定义了一个class Foo,那么就有了一个叫Foo的类型。官方说的class type,应该就是指自定义类型。比如Foo类型,Cat类型,Dog类型。那么自定义类型由什么来确定呢?当然是由字节码来确定,字节码叫Foo.class,那么你就是Foo类型,字节码叫Cat.class,那你就是Cat类型。
2019-04-06