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

    什么是反射

    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
    一般情况我们new一个对象创建一个对象;使用了反射,我们可以通过一个对象找到一个类的信息。这就大大增强了操作类和对象的灵活性。
    另外提一句,Spring框架之所以这么灵活,就是使用了反射。

    反射有何用

    • 在运行时判断任意一个对象所属的类;
    • 在运行时构造任意一个类的对象;
    • 在运行时判断任意一个类所具有的成员变量和方法;
    • 在运行时调用任意一个对象的方法;
    • 生成动态代理。

    反射为什么能够这么强大

    反射的常用类和函数:Java反射机制的实现要借助于4个类:Class,Constructor,Field,Method。
    其中class代表的是类对象,Constructor-类的构造器对象,Field-类的属性对象,Method-类的方法对象,通过这四个对象我们可以粗略的看到一个类的各个组成部分。其中最核心的就是Class类,它是实现反射的基础。

    反射API

    链接: https://pan.baidu.com/s/1gfaUCin 密码: 9pqq

    应用

    • 工厂模式
    • 动态代理

    反射难道就没有缺陷吗

    虽然反射很强大,但是反射会破坏Java类的封装,比如会直接获取到私有成员属性。但瑕不掩瑜。

    参考

  • 相关阅读:
    html优化
    HTML练习(网页计算器)
    hdu--4574 Bombs(dfs)
    Robots at Warehouse(搜索+vector的使用)
    poj 2111 Millenium Leapcow(记忆化搜索)
    Codeforces Round #408 (Div. 2) C. Bank Hacking(暴力啊!暴力)
    Gym
    Gym
    浙江省赛--D
    浙江省赛--C
  • 原文地址:https://www.cnblogs.com/helloIT/p/8018006.html
Copyright © 2011-2022 走看看