文档章节

反射1:获得Class<?>

J
 J_Stone
发布于 2016/05/10 13:54
字数 208
阅读 29
收藏 1
点赞 2
评论 0

     经常遇到这种情况,在配置文件中配置使用哪个类;程序在运行时,通过配置的类名,动态生成这个类的对象或调用这个类的某个方法。 这使用的是java的反射机制。

   当程序启动时,类加载器首先会加载所需的类文件。这些类结构信息存储在内存中,定义它们统一的类型:Class, 同一个类加载器下,是全局唯一的。

   怎么获得一个类的Class呢?

 

public static void main(String[] args) throws ClassNotFoundException {
    String className = "java.lang.Object"; //注意是运行期
    Class<?> classType = Class.forName(className);//方法1: 使用class类的静态方法,获取class对象,参数是类的全称
    Class<?> classType2 = Object.class;//方法2 : 类名.class
    Class<?> classType3 = new Object().getClass();//方法3:通过对象获取

 
}

  

     

© 著作权归作者所有

共有 人打赏支持
J
粉丝 2
博文 65
码字总数 30214
作品 0
朝阳
java反射基本理论和实例

一、先看一下反射的概念: 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 反射是java中一种强...

文文1 ⋅ 2016/02/16 ⋅ 0

Java 反射简析

一直以来,多少Java编程人员对于Java的反射讳莫如深,其实简单粗暴的说,所谓反射就是文件与Java对象之间的转换而已。 我们编写的Java后缀的文件,经过编译之后就成为class后缀的文件了,jvm...

引鸩怼孑 ⋅ 2016/05/03 ⋅ 0

反射 和 动态代理

一:Java的反射====== 为什么要用到反射,主要是因为有时候我们并不能够直接使用new来创建一个对象,因为我们只知道这个类的名字,这个时候就需要反射。 1:首先第一步,一定要先用类名来获取...

刘付kin ⋅ 2016/12/08 ⋅ 0

Java反射机制

一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制 有些时候...

长平狐 ⋅ 2012/10/09 ⋅ 0

吃透Java的反射机制——基础知识总结

一、什么是Java的反射 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的...

ZhakyMing ⋅ 2016/11/03 ⋅ 0

java reflect探究

获取Class的三种方式 Person.class Class.forName("com.icngor.Person") Class clazz = new Person().getClass() 利用获得的Class实例clazz进行操作 获得类名 clazz.getName() //获得类全名c......

李文良 ⋅ 2016/05/19 ⋅ 0

JAVA的反射机制和动态代理

<反射机制> 为了更好的理解java的反射机制,最好先对java的泛型有所了解。java泛型就是参数化类型,即为所操作的数据类型指定一个参数。如果只指定了<?>,而没有extends,则默认是允许Objec...

tinyLuu ⋅ 2013/06/08 ⋅ 0

java反射机制基础详解

ji什么是Java的反射? 要让Java程序能够运行,就得让Java类被Java虚拟机加载。Java类如果不被Java虚拟机加载就不能正常运行。正常情况下,我们运行的所有的程序在编译期时候就已经把那个类被...

Garnett_K ⋅ 2014/03/07 ⋅ 2

Java的反射(Reflection)、内省(Retrospector)和beanUtils工具

反射(Reflection):加载类,并解剖出类的各个组成部分(反射就是解剖的意思) 加载类,获得类的字节码(三种方式): Class clazz1 = Class.forName("cn.xxx.bean.Person"); Class clazz2...

ikilun ⋅ 2017/08/20 ⋅ 0

Java程序员从笨鸟到菜鸟之(八)反射和代理机制

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 反射和代理机制是JDK5.0提供的java新特性,反射的出现打破了java一些常规的规则,如,私有变量不可访问。但反...

长平狐 ⋅ 2012/11/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 52分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部