我所知的反射

一、反射的概述

1.反射的介绍:
Java的反射机制是在运行的状态中,对于任意的一个类,能够知道这个类的所有属性和方法;对于任意一个对象,能够调用它的任意一个属性和方法,这种动态获取的信息以及动态调用对象的方法的功能成为java语言的反射机制

一句话,反射技术可以对类进行解剖

2. 反射中涉及的概念:
Java中的.class文件是java的可运行文件,叫字节码文件,java的.class文件也有共性,可以单独抽取出来,用“类”来描述。这个“类”就是Class(注意这是类的名字)。

要想获取一个类的内容,必须先要获取这个类所在的字节码文件对象,该对象是Class类型

字节码文件对象的作用:New一个Person对象,首先加载Person.class文件进内存,进内存时就被封装成了对象

二、字节码文件对象的获取

例:Person类

public class Person {

  //字段或私有成员变量
  private String name;
  private int age;

  //构造方法
  public Person(){
    System.out.println("Person 构造方法运行");
  }

  //重载的方法
  public Person(String name, int age) {
    super();
    this.name = name;
    this.age = age;
  }

  //输出方法
  @Override
  public String toString() {
    return "Person [name=" + name + ", age=" + age + "]";
  }

  //静态方法
  public static void show(){
    System.out.println("show静态方法执行");
  }

  //带参数的方法
  public String eate(String a,int b){
    String res = a + b;
    System.out.println("function param:"+ a + "." + b);
    return res;
  }

  //私有方法
  private void joke(){
    System.out.println("joke私有方法执行");
  }

  //普通方法
  public void run(){
    System.out.println("run普通方法执行");
  }

}

猜你喜欢

转载自www.cnblogs.com/sunyi2010/p/8888882.html