什么是反射机制

反射机制是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)通过反序列化的方式创建对象

猜你喜欢

转载自www.cnblogs.com/wutongshu-master/p/10861504.html