zoukankan      html  css  js  c++  java
  • 什么是反射机制

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

  • 相关阅读:
    Visual C++ 2010 SP1 x86&x64
    MVC拦截
    自定义HTTP消息拦截
    转mysql半主从同步
    mysql主从搭建之诡异事件
    snapshot相关
    分布式系统唯一ID生成方案汇总
    mysql监控利器mysqlmtop部署安装
    mysql日常运维
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/wutongshu-master/p/10861504.html
Copyright © 2011-2022 走看看