Java连载113-通过反射机制来获取对象

一、反射

1.在Java虚拟机种,只有一个类,所有使用使用反射机制的时候,创建多少个引用都是指向同一个类的。

2​.通过Class类对象创建java对象

package com.bjpowernode.java_learning;

import com.bjpowernode.java_learning.A113;

​

public class D113_ReflectTest02 {

  public static void main(String[] args) throws Exception{

    //将A113.class文件转载到JVM中的过程。

//    Class.forName("A113");

   

    //不会执行静态语句块

    Class c = A113.class;

    System.out.println("=====");

    //下面的语句会执行静态语句块

    A113 a = new A113();

    Class c2 = a.getClass();

   

    //获取Class类型的对象之后,可以创建该“类”的对象

    Object o = c.newInstance();//调用了A113的无参数构造方法

   

    System.out.println(o.toString());

               

  }

}

package com.bjpowernode.java_learning;

​

​

public class A113 {

  static {

    System.out.println("A.....");

  }

  public A113() {

    System.out.println("我是一个无参数构造方法");

  }

}

​遗留问题:为什么创建的对象执行了两次构造方法

二、源码:

D113_ReflectTest02.java

A113.java

https://github.com/ruigege66/Java/blob/master/D113_ReflectTest02.java

https://github.com/ruigege66/Java/blob/master/A113.java​

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 

原文地址:https://www.cnblogs.com/ruigege0000/p/12840100.html