.class这个文件其实也是一个对象,叫做Class类型对象,这个Class类型就类似于Person类型的地位。因为我们在真正开发的时候有时间要用到别人的类型,但是别人没有提供的这个类的.java源代码,只有这个类对应的.class文件,并且没有说明文档。所以我们就不知道这个源代码里面到底有什么方法,字段,构造函数等等,但是同时我们又要用这个类,所以此时就只能通过反射来得到这个.class文件对应类型的这些方法,字段,构造函数进而调用实现我们所需功能。我们在编程的时候,jdk其实提供给我们的也是.class文件。但是同时给我们了说明文档(API文档),所以我们虽然没有源代码,但是知道内部的细节,所以直接编程时使用各种方法,字段,构造函数等。也就是说只要别人的.class文件附上了说明文档,其实反射就没有必要使用了,看文档就知道内部细节进行使用了。这是我的看法。 |