你要这样想,String.class是什么?是一堆字节码的对象,它并不是String类,仅仅是从硬盘上的二进制数据变成了字节码而已,它还需要类的加载器加载进内存中才能变为String类,这个在后面会讲到的。
在String内中,这个方法需要接收一个int的参数,但是这个仅仅是一个字节码文件的对象,它也不认识int是什么东西,只认识int的字节码,所以这里需要接收一个int的字节码对象。
如果还不理解,就想想String类中的这个方法被编译时产生了什么东西?产生的是一堆看不懂的字节码,那么这个参数int是不是也被编译成了字节码呢?我们看不懂这个字节码,字节码也看不懂我们知道的int,就是这个道理。 |
|