博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四种获取Class对象的方法-Java反射机制
阅读量:2399 次
发布时间:2019-05-10

本文共 1911 字,大约阅读时间需要 6 分钟。

下面以一个具体的实例来说明。此实例来自《精通Hibernate 3.0 Java数据库持久层开发实践》一书。

先在com.hqh.reflect下建一个文件UseInfo.java

package com.hqh.reflect;public class UseInfo {private Integer id;private String userName;private String password;public Integer getId() {   return id;}public void setId(Integer id) {   this.id = id;}public String getUserName() {   return userName;}public void setUserName(String userName) {   this.userName = userName;}public String getPassword() {   return password;}public void setPassword(String password) {   this.password = password;}}

再建一个测试文件GetClassTest.java 

package com.hqh.reflect;public class GetClassTest {public static void main(String[] args) {   GetClassTest test = new GetClassTest();   if(test.ClassCheck())    System.out.println("OK");}public boolean ClassCheck() {   try {    System.out.println("通过类本身获得对象");    Class userClass = this.getClass();    System.out.println(userClass.getName());    System.out.println("===========");       System.out.println("通过子类的实例获得父类对象");    UseInfo useInfo = new UseInfo();    userClass = useInfo.getClass();    System.out.println(userClass.getName());    Class subUserClass = userClass.getSuperclass();    System.out.println(subUserClass.getName());    System.out.println("===========");       System.out.println("通过类名.class获取对象");    Class forClass = com.hqh.reflect.UseInfo.class;    System.out.println(forClass.getName());    System.out.println("===========");       System.out.println("通过类名的字符串获取对象");    Class forName = Class.forName("com.hqh.reflect.UseInfo");    System.out.println(forName.getName());    System.out.println("=============");      } catch (Exception e) {    e.printStackTrace();    return false;   }   return true;}}

结果:

通过类本身获得对象

com.hqh.reflect.GetClassTest
===========
通过子类的实例获得父类对象
com.hqh.reflect.UseInfo
java.lang.Object
===========
通过类名.class获取对象
com.hqh.reflect.UseInfo
===========
通过类名的字符串获取对象
com.hqh.reflect.UseInfo
=============
OK

转载地址:http://sddob.baihongyu.com/

你可能感兴趣的文章
自动化运维平台的实施计划
查看>>
《大鱼海棠》里的梦
查看>>
自动化平台的几个小计划
查看>>
推荐给你的春节观影清单,请查收
查看>>
DBAplus社群北京站沙龙归来
查看>>
最近在读的一些文章和书
查看>>
MySQL关于数据字典的一个疑问
查看>>
今天的一点杂感
查看>>
从阴阳五行,四书五经到国学的理解
查看>>
如何理解Python web开发技术
查看>>
自动化平台中维度设计的一点思考
查看>>
运维开发的痛点和思考
查看>>
自动化分享里程碑小结20180127
查看>>
对这个公众号的分析和期望
查看>>
疯狂的十天计划开启(二) (改)
查看>>
Python实现工厂模式的两个例子
查看>>
自动化运维平台的流程草图
查看>>
改变固有思维的一种模式-关键路径
查看>>
使用贪心算法解决集合覆盖问题
查看>>
自动化运维的快速演进
查看>>