您的位置:首页 > 编程语言 > Java开发

Java反射机制详解

2017-03-05 10:33 267 查看
Java反射机制详解

目录

1反射机制是什么

2反射机制能做什么

3反射机制的相关API

·通过一个对象获得完整的包名和类名

·实例化Class类对象

·获取一个对象的父类与实现的接口

·获取某个类中的全部构造函数-详见下例

·通过反射机制实例化一个类的对象

·获取某个类的全部属性

·获取某个类的全部方法

·通过反射机制调用某个类的方法

·通过反射机制操作某个类的属性

·反射机制的动态代理

4反射机制的应用实例

·在泛型为Integer的ArrayList中存放一个String类型的对象。

·通过反射取得并修改数组的信息

·通过反射机制修改数组的大小

·将反射机制应用于工厂模式

1反射机制是什么

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2反射机制能做什么

反射机制主要提供了以下功能:

在运行时判断任意一个对象所属的类;

在运行时构造任意一个类的对象;

在运行时判断任意一个类所具有的成员变量和方法;

在运行时调用任意一个对象的方法;

生成动态代理。

3反射机制的相关API

通过一个对象获得完整的包名和类名

Java|复制

实例化Class类对象

Java|复制

获取一个对象的父类与实现的接口

Java|复制

获取某个类中的全部构造函数-详见下例

通过反射机制实例化一个类的对象

Java|复制

获取某个类的全部属性

Java|复制

获取某个类的全部方法

Java|复制

通过反射机制调用某个类的方法

Java|复制

通过反射机制操作某个类的属性

Java|复制

反射机制的动态代理

Java|复制

4反射机制的应用实例

在泛型为Integer的ArrayList中存放一个String类型的对象。

Java|复制

通过反射取得并修改数组的信息

Java|复制

通过反射机制修改数组的大小

Java|复制

将反射机制应用于工厂模式

Java|复制



</div>
<pclass="postfoot">
postedon<spanid="post-date">2016-08-1715:50</span><ahref='http://www.cnblogs.com/lzq198754/'>Java初级码农</a>阅读(<spanid="post_view_count">...</span>)评论(<spanid="post_comment_count">...</span>)<ahref="https://i.cnblogs.com/EditPosts.aspx?postid=5780331"rel="nofollow">编辑</a><ahref="#"onclick="AddToWz(5780331);returnfalse;">收藏</a>
</p>
</div>
<scripttype="text/javascript">varallowComments=true,cb_blogId=294202,cb_entryId=5780331,cb_blogApp=currentBlogApp,cb_blogUserGuid='63015aa9-7237-e611-9fc1-ac853d9f53cc',cb_entryCreatedDate='2016/8/1715:50:00';loadViewCount(cb_entryId);</script>

</div><aname="!comments"></a><divid="blog-comments-placeholder"></div><scripttype="text/javascript">varcommentManager=newblogCommentManager();commentManager.renderComments(0);</script>


刷新评论刷新页面返回顶部

fixPostBody();
setTimeout(function(){incrementViewCount(cb_entryId);},50);
deliverAdT2();
deliverAdC1();
deliverAdC2();
loadNewsAndKb();
loadBlogSignature();
LoadPostInfoBlock(cb_blogId,cb_entryId,cb_blogApp,cb_blogUserGuid);
GetPrevNextPost(cb_entryId,cb_blogId,cb_entryCreatedDate);
loadOptUnderPost();
GetHistoryToday(cb_blogId,cb_blogApp,cb_entryCreatedDate);

导航

博客园

首页

新随笔

联系

订阅




管理

公告

Poweredby:

博客园

Copyright©Java初级码农
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java