zoukankan      html  css  js  c++  java
  • 反射

    class 是描述具体一类事物的共同属性和方法 

    可以创建一个类(抽象出的类)去描述所有的类(事物),即用类去描述所有的类

    在运行过程中,对于任意一个类都可以动态获取到当前类的相关信息,对于任意一个对象,都能动态调用对象的属性或方法,我们把这种能够动态获取或调用属性和方法的机制,叫java的反射机制(在运行过程中,可以通过程序改变程序的结构(privateàpublic))。

    调用一个类中的属性和方法,一定要创建对象才能调用。Java反射中就可以动态的调用属性或方法,而无需创建类的对象。

    Java反射中通过Class类来描述所有类共同拥有的属性和方法

    Student stustu类的对象

    Class classclass类对象(类对象是描述具体某个类的一个对象)

    动态语言:在运行过程中能够动态改变程序结构的语言(perl pytho….)

    静态语言:javacc++

              Java中因有反射机制,所以也认为java是一种动态语言

    ① 类对象的创建方式

       Class类:描述所有类的类

    类对象的常用方法

     

     ③ Java反射包----取到某一个具体的属性及方法和构造方法

    Field

       A获取Field象

       BFiled对象进行设值取值

       C、通过类对象创建类的对象

       D、设置对象的访问权限

       Method:

           A、可变长参数的使用

       

       Constructor

     思考:封装一个方法,能调用任意类下的任意方法

       public static Object invokeMethod(){

           ① 通过Method调用方法

               m.invoke(Obj,value)

                   参数:实际参数 Object…

        ② 获取Method对象

            GetMethod(name,params…)

                参数:方法名

                参数列表类型:Class…

        ③ 类对象(必要参数)

    }

       如果是私有的方法?

       如果构造方法是私有的?

       返回值的处理?

  • 相关阅读:
    Codeforces 1163E 高斯消元 + dfs
    Codeforces 1159E 拓扑排序
    Codeforces 631E 斜率优化
    Codeforces 1167F 计算贡献
    Codeforces 1167E 尺取法
    Gym 102007I 二分 网络流
    Codeforces 319C DP 斜率优化
    Codeforces 1163D DP + KMP
    Comet OJ
    Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
  • 原文地址:https://www.cnblogs.com/dulute/p/11346434.html
Copyright © 2011-2022 走看看