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

    • 什么是反射(what’s Java Reflection)
    java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fieldsmethods的所有信息,并可于运行时改变fields内容或唤起methods
    • 反射能做什么(what reflection can do)
    在运行时判断任意一个对象所属的类
    在运行时构造任意一个类的对象
    在运行时判断任意一个类所具有的成员变量和方法
    在运行时调用任意一个对象的方法

    • 反射的API(ReflectionAPI)
    java.lang.reflect.Method;
    java.lang.reflect.Constructor;
    java.lang.reflect.Field;
    java.lang.reflect.Modifier;
    java.lang.reflect.Array;

    //获取任意一个类
    Class clz = String.class;
    Class clz = Class.forName(“java.lang.String”);

    实例化对象、判断其类型
    
    public class ReflectionExample {
                   public static void main(String[] args) {
                      Class clz = ReflectionExample.class;
                      try {
                          if (clz.newInstance() instanceof String) {
                             System.out.println("instance is String");
                           } else {
                          System.out.println("instance is not String");
                            }
                           } catch (InstantiationException e) {
                         e.printStackTrace();
                       } catch (IllegalAccessException e) {
                          e.printStackTrace();
                      } }}
    java.lang.reflect.Constructor
    Class.getConstructors();
    Class.getConstructor(Class[]);


    • The Class class
    •   Class methods    
    • Constructor class
    • Method class
    •   invoking a method, throwing exceptions
    • Array class
    • Member interface
    • Field class
    •   accessible object
    • Java Reflection

    ------------------待续

  • 相关阅读:
    前端 --> CSS基础
    前端 css 补充内容
    前端 ---> HTML
    MySQL数据库 -- Navicat、pycharm连接数据库
    mysql数据库 --表查询
    IOC Unity
    泛型2
    泛型1
    特性 Attribute
    里氏替换原则
  • 原文地址:https://www.cnblogs.com/aikongmeng/p/3697301.html
Copyright © 2011-2022 走看看