文档章节

很简单的JAVA反射教程

镜花8水月90
 镜花8水月90
发布于 2016/04/07 14:00
字数 409
阅读 22
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

反射可以动态加载类,实例化对象,调用方法。现在以以下例子讲解。

        一,加载类。

               Class clazz = Class.forName("java.lang.String"); //此句代码得到一个String类的类对象。参数填包名。

               若通过URLClassLoader ,可以加载本地或远程的jar包,并且通过loadclass方法得到具体的类对象。

        二,实例化对象。

               如果通过默认构造函数来实例化对象,我们可用类对象的如下方法得到一个对象,如

               clazz..newInstance();

               如果通过带参数的构造函数来实例化对象,则可以通过如下代码达成:

               Constructor<?> myConstructor = myClass.getConstructor(parameterTypes);//得到一个构造器对象。

               其中parameterTypes 为 Class<?>... parameterTypes,例如 String.class,int.class等等。接着通过构造器对象得到实例化对象:

               myConstructor.newInstance("xxx",123);构造器内填入具体的构造参数。 

         三,调用方法。

              Method mezod = clazz.getMethod(methodName, parameterTypes);可以得到方法类的对象,然后我们可以通过mezod的invoke方法执行方法。

              mezod.invoke(obj,"xxx",123);//第一个参数为此方法的发起对象,若填null则说明调用的是静态static方法。


更多知识分享,请看我的个人博客吧!!镜花水月的博客      

转载请注明出处:http://www.noreplace.com


© 著作权归作者所有

镜花8水月90
粉丝 0
博文 2
码字总数 1036
作品 0
深圳
私信 提问
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
2018/11/15
2.8K
0
JVM之动态方法调用:invokedynamic

在本文的前面的姊妹篇中,介绍了Java方法调用的5种操作码中的4种。它们是Java 8和Java 9中方法调用的标准字节码形式。 于是第五个操作码invokedynamic便进入了我们的视线。简单来说,Java 7中...

01/19
0
0
Gson通过反射将Json转化为java对象

Gson是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。 然后我们先写一个demo来用Gson将一个json转化...

woshixin
04/20
290
0
好程序员大数据视频教程从零基础入门到精通

好程序员大数据视频教程从零基础入门到精通,学习大数据技术的必经之路是什么?是Hadoop吗?当然不是!如果想要踏入大数据的门槛,一个必须的条件就是我们的编程基础。熟练掌握一门编程语言是对大...

好程序员IT
04/03
27
0
Jenkins 教程(一)实现自动化打包及邮件通知

个人不喜欢装腔作势一堆专业术语放上去,让大多数人看不懂来提升逼格(所谓的专家),所以我简单的介绍jenkins是干啥的。本文使用jenkins,就是让它把git仓库里的东西取出来,然后在jenkins容器...

FantJ
2018/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

006-ELK的二进制安装

二进制安装ELKstack 本次搭建属于单点,在同一台机器上进行安装 基础组件部署 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yu...

伟大源于勇敢的开始
15分钟前
4
0
OSChina 周四乱弹 —— 浙江台的电话号码倒是记得挺牢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Out On The Streets》 一直不理解北欧人对重金属和死亡摇滚的热情,听完这首歌好像理解了。#今日歌曲推荐# 《Out On The Stre...

小小编辑
今天
7
0
Leetcode PHP题解--D121 21. Merge Two Sorted Lists

D121 21. Merge Two Sorted Lists 题目链接 21. Merge Two Sorted Lists 题目分析 合并两个有序链表。 思路 逐个遍历两个链表,把小的数字塞入数组里。之后再拼起来。 最终代码 <?php/** *...

skys215
今天
5
0
mars-config 动态配置管理

mars-config 码云地址:https://gitee.com/fashionbrot/mars-config 介绍 spring mvc 、springboot 动态配置系统。http 轮训方式 更新 动态配置 软件架构 软件架构说明 后端使用技术 :sprin...

fashionbrot
今天
14
0
女朋友玩吃鸡手游被开挂老哥骗炮,我见义勇为将骗子绳之以法

大家好,我是乔哥。 晚上10点以后下班后我回到自如出租房里面,开始处理公众号粉丝发来的消息,一条一条处理,突然看到了这么几条消息,吸引了我的眼球: 然后我就和这位女粉丝小红(化名)聊...

gzc426
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部