什么是反射机制

Posted wutongshu-master

tags:

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

反射机制是Java语言中的一个特性,它允许程序在运行时进行自我检查,同时也允许其内部的成员进行操作。

具体而言,反射机制提供的功能主要有:

1)得到一个对象所属的类;

2)获取一个类的所有成员变量和方法

3)在运行时创建对象

4)在运行时调用对象的方法

其最重要的一个作用就是可以动态地创建类的对象,代码如下

public class Base {
    public void f(){
        System.out.println("Base");
    }
}
public class Sub extends Base{
    @Override
    public void f() {
        System.out.println("Sub");
    }
}
public class TestReflex {
    public static void main(String[] args) {
        try {
            Class c=Class.forName("Sub");
            Base base= (Base) c.newInstance();
            base.f();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行结果为:

技术图片

 


 

在反射机制中,Class是一个非常重要的类,那么如何才能获取Class类呢?总共有以下三种方法可以获取

1)Class.forName("类的路径")

2)类名.Class

3)实例.getClass()

 

常见笔试题:

Java创建对象的方式有几种?

答案:总共有4种

1)通过new语句实例化一个对象

2)通过反射机制创建对象

3)通过clone()方法创建对象

4)通过反序列化的方式创建对象

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

反射机制入门

反射机制入门

深入理解java的反射机制

java反射机制

什么是反射机制

JavaSE:反射机制的基本概念