zoukankan      html  css  js  c++  java
  • 反射

    1. 什么是反射

    将类的各个组成部分封装为其他对象,这就是反射机制。

    好处:

      (1)可以在程序运行过程中操作这些对象

      (2)可以解耦,提高程序的可扩展性

    2. 获取class对象的三种方式

    ①Class.forName(“全类名”)

      将字节码文件加载到内存,返回class对象

      多用于配置文件中,将类名定义在配置文件中。读取文件,加载类。

    ②类名.class()

      通过类名的属性class获取

      多用于参数的传递

    ③对象.getClass()

      多用于对象获取字节码文件对象的方式

     1 package cn.itcats02.day_01;
     2 
     3 public class test01 {
     4 
     5     public static void main(String[] args) throws ClassNotFoundException {
     6         //Class.forName("全类名")
     7         Class cls1 = Class.forName("cn.itcats02.day_01.Person");
     8         System.out.println(cls1);
     9 
    10         //类名.class
    11         Class cls2 = Person.class;
    12         System.out.println(cls2);
    13 
    14         //对象.getClass()
    15         Person p = new Person();
    16         Class cls3 = p.getClass();
    17         System.out.println(cls3);
    18 
    19         //验证是否是同一个对象
    20         System.out.println(cls1 == cls2);
    21         System.out.println(cls2 == cls3);
    22         System.out.println(cls1 == cls3);
    23 
    24         //结论:同一个字节码文件在一次程序运行过程中只会被加载一次
    25 
    26     }
    27 }

    3. Class对象的功能

  • 相关阅读:
    UESTC_王之迷宫 2015 UESTC Training for Search Algorithm & String<Problem A>
    UESTC_The Most Wonderful Competition CDOJ 56
    UESTC_神秘绑架案 CDOJ 881
    MFC 自定义消息的一般过程
    MFC 如何添加自定义消息
    MFC子窗口向父窗口发送消息
    MFC子窗口和父窗口
    单链表
    C++ STL基本容器的使用
    C++ Primer 3rd 读书笔记
  • 原文地址:https://www.cnblogs.com/nnnnbbbb1/p/13023869.html
Copyright © 2011-2022 走看看