一提起反射这个概念 很多人都害怕。既然java只学过类这个东西,怎么还会说类也是一个对象呢?
先写三个类(伪代码)
学生类
{
姓名
年龄
性别
吃饭();
睡觉();
读书();
}
动物类
{
名称:
性别:
栖息地:
吼叫();
交配();
}
书本类
{
颜色
价格
书名
打开()
关闭( )
}
如果我们要一本书 那么就new 书本() 要个学生new 学生() 书本类是对所有图书共性的描述 动物类是对所有动物共性的描述 我们这样做,我认为叫正射。
我们的思想是这样的 有了一个类,哈哈 我可以new了 代码编译通过 可以运行起来了
关键思想是 有了我们所知道的类,我们知道它的字段是几个了,字段是哪些,方法是哪些,只有值不知道。
那么什么是反射,我认为是这样的,有了一个类,又来了一个类,我们应该怎么去描述他们呢? 它们一定有字段 有方法 有构造器吧.
如下列伪代码
class Class
{
字段
包名
类名
构造器名
方法
}
我们只能知道这些了. 但是我想 我们之前的类不就是通过这个东西得来的吗?
我认为是这样的 Class clazz=new Class()(虽然这样写是错误的); 然后在我们写代码的时候,会通过某种技术手段把类加载进来(),对这个类来说,它是Class类型的对象,然后它有了自己的字段,包名,类名,构造器名,方法(这些都是具体的值)。如果我们得到了类对象,我们当然就可以知道它的字段 包名 类名 构造器名了。
但是在技术层面上,好像很难理解它是怎么做到的。
时间: 2024-10-25 06:14:28