1 初识反射

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1 初识反射相关的知识,希望对你有一定的参考价值。

一提起反射这个概念 很多人都害怕。既然java只学过类这个东西,怎么还会说类也是一个对象呢?

 

先写三个类(伪代码)

 

学生类

{

姓名

年龄

性别

 

吃饭();

睡觉();

读书();

 

}

 

 

动物类

{

名称:

性别:

栖息地:

 

吼叫();

交配();

}

 

书本类

{

颜色

价格

书名

 

打开()

关闭( )

}

 

如果我们要一本书 那么就new 书本()   要个学生new 学生()   书本类是对所有图书共性的描述 动物类是对所有动物共性的描述 我们这样做,我认为叫正射。

我们的思想是这样的  有了一个类,哈哈 我可以new了  代码编译通过 可以运行起来了 

关键思想是 有了我们所知道的类,我们知道它的字段是几个了,字段是哪些,方法是哪些,只有值不知道。  

 

那么什么是反射,我认为是这样的,有了一个类,又来了一个类,我们应该怎么去描述他们呢?  它们一定有字段 有方法 有构造器吧.

如下列伪代码

class Class

{

字段

包名

类名

构造器名

方法

}

我们只能知道这些了.  但是我想 我们之前的类不就是通过这个东西得来的吗?

我认为是这样的 Class clazz=new Class()(虽然这样写是错误的);    然后在我们写代码的时候,会通过某种技术手段把类加载进来(),对这个类来说,它是Class类型的对象,然后它有了自己的字段,包名,类名,构造器名,方法(这些都是具体的值)。如果我们得到了类对象,我们当然就可以知道它的字段 包名 类名 构造器名了。

 

但是在技术层面上,好像很难理解它是怎么做到的。

 

以上是关于1 初识反射的主要内容,如果未能解决你的问题,请参考以下文章

反射初识

初识java反射机制

初识Java反射

初识Java反射

初识反射之二

初识反射之三(获取方法和成员变量)