Java连载112-获取Class对象的三种方式

一、获取class对象的三种方式

1.我们先写一个基础类

package com.bjpowernode.java_learning;

​

public class D112_2_Emploe112 {

 

  private String name;

 

  public D112_2_Emploe112(){

   

  }

  public D112_2_Emploe112(String name) {

    this.name = name;

  }

  public void work() {

    System.out.println(name+"在工作!");

  }

}

​2.然后使用三种方式来获取类

package com.bjpowernode.java_learning;

import java.util.Date;

​

public class D112_1_ReflectTest {

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

    //获取Class类型对象的三种方式

    //第一种方式

    Class c1 = Class.forName("com.bjpowernode.java_learning.D112_2_Emploe112");

    //c1引用保存内存地址指向堆中对象,该对象代表的是D112_2_Emploe112整个类

   

    //第二种方式

    //java中每个类型class属性

    Class c2 = D112_2_Emploe112.class;

   

    //第三种方法

    //java语言中任何一个java对象都有getClass方法

    D112_2_Emploe112 d = new D112_2_Emploe112();

    Class c3 = d.getClass();//c3是运行时类(d的运行时类是D112_2_Emploe112

   

    Class c4 = Date.class;//c4代表Date这个类

    Class c5 = Class.forName("java.util.Date");//必须写类的全名,类全名带有包名

    Date d1 = new Date();

    Class c6 = d1.getClass();

   

  }

}

二、源码:

D112_1_ReflectTest.java

D112_2_Emploe112.java

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

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

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

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

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

 

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