当前位置:首页 > Java程序 > 正文内容

成都java学校(成都学java哪个学校好)

abcsky887个月前 (10-27)Java程序111

本文分享给大家的是:

java反射是怎么回事?下面就跟着小编一起来看看java学习基础教程分享射是Java中核心技术之一,这里先不定义什么叫反射,先看一个例子public class Person {public void run() {。

成都java学校(成都学java哪个学校好)

System.out.println(Hello Wolrd);}}

要求:1) 创建一个person的实例,单不能使用Person person = new Person()的方式2) 调用run()方法,也不能使用person.run()方式我们知道要调用方法必须先要有对象,现在不能通过new关键字来实例化对象,只能通过反射来实现。

public static网站 营销 推广 void main(String[] args) throws Exception {// 1.先把类加载起来Class cls = Class.forName(com.qf.doc.Person);

// 2.实例化对象Object person = cls.newInstance(); //调用无惨构造,等价于 new Person();// 3.得到要执行的方法,此时方法也是一个对象Method mehtod = cls.getMethod(run);

// 4.调用方法mehtod.invoke(person);}上面就实现用反射的方式调用preson类中的方法可能有人要问了,为什么不直网站 营销 推广接new 出来呢? 通过反射来创建对象,调用方法多费劲啊?关键在于很多时候我们并不能事先知道要new 什么对象,相反我们可能只知道一个类的名称和方法名, 很多时候这些名称都是写在XML配置当中的。

好多框架中用到了反射,比如sturts,spring,hibernate等,下面举几个列子说明【Strust2】在struts.xml中配置的actiontopicList.jsptopicInfo.jsp

定义的actionpublic class TopicAction extends ActionSupport {private Page page = new Page();private ITo网站 营销 推广picService topicService = new TopicServiceImpl();

private IReplyService replyService = new ReplyServiceImpl();private Topic topic;public String findTopicPage() {

topicService.getTopicPage(page);page.setUrl(forum/topic/findTopicPage?);return Action.SUCCESS;}}Struts2框架本身不知道我们有一个TopicAction这个类,但它可以这样做,在s网站 营销 推广truts2框架初始化的时候解析你配置的xml,再找到你配置TopicAction,然后通过反射的技术实例化这个类,等在有人调用的时候通过反射调用topicAction中的方法。

【Hibernate】hibernate建立数据库表和对象之间的映射实体类类的定义public class Topic {private Integer id;private String title;

private String content;private Date createDate;private User user; // 发帖人}映射文件的定义在映射文件中建立了数据表和对象的映射关系,所以我们在hibe网站 营销 推广rnate中操作的都是对象,但是底层都会转成sql执行,比如我们要查询一个对象,

Topic topic = session.get(Topic.class,12);执行过程是这样的:【类名】→【表明】→【发出sql语句】→【通过反射实例化对象】→【通过反射调用setXxx()方法把数据库的值设进入】

总结一下,反射就是在编译期不知道创建那个类,而是在运行期才知道创建那个类,这种情况下就应该考虑到用反射。

那反射能做什么呢?1) 获取一个类的内部结构,比如:方法,属性,注解等2) 运行时对一个Java对象操作,包括实例化对象,调用方法,给属性赋值为什么叫反射呢?可能是Java程序在运行时能够看到自己网站 营销 推广的结构和行为吧,就像看到镜子当中的自己一样, 反射了出来。

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://4blc.com/post/397.html

分享给朋友:

“成都java学校(成都学java哪个学校好)” 的相关文章

查看was的jvm参数命令(was控制台查看jvm参数)

本文分享给大家的是: 由于近些年项目系统陈旧,线上生产环境运行不稳定,经常需要生成javacore和heapdump文件,以便分析jvm的运行状态查找卡慢宕机问题其中javacore文件中给出jvm线程的详细情况,是关于CPU的,而heapdump文件则给出jvm的运行时内存的使...

java语言入门自学(java入门要学什么)

本篇文章给大家谈谈 学Java前要先知道Java语言的特点,Java是一门面向对象的编程语言,不仅吸收了C++语言的优点,还摒弃了C++语言难以理解的多继承、指针等概念因此Java语言具有简单性、稳健性、安全性、可移植性等特点。 一、简单性Java看起来设计得很像C++,但...

java培训培训班(java的培训课程)

本篇文章给大家谈谈 原标题:Java培训机构的基础课程内容有哪些?对于零基础或者打算开始学习Java编程的同学,首先要去学习Java基础课程的内容,那么Java基础课程有哪些呢?1.Java概述,你要知道Java一些基本的知识,比如优点,什么时候诞生的,目前的发展状况如何。...

stringbuffer和stringbuilder(string,stringbuffer,stringbudilder区别)

今天给各位分享 StringBuffer和Stringbuuuilder都是java中的字符串缓冲区类,他们的主要作用是用来存储和操作字符串他们的主要区别在于:线程安全和性能;相同点在于:可变性和初始容量线程是否安全和性能。 StringBuffer是线程安全的,所有的方法...

请不要说自己是 Java 程序员

本文分享给大家的是:  几年前 Reddit 上有个关于招聘的笑话: 面试官问:你用过 Python 或者 Django 吗? 答:我三周前去过动物园,这个算吗? 面试官:你被雇佣了 一周后,这位应聘者用 Django 给他们的产品写了一个在线论坛。   英文的玩笑,用中文...

java中void的用法和string(java中void的含义)

今天给各位分享 在Java中,void是一种特殊的返回类型。用于指示一个方法不返回任何值。 在Java中,方法是一段可重用的代码块,它可以完成某些操作并返回结果在定义一个方法时,可以在方法名称和参数列表之后指定返回类型如果方法返回一个值,则在返回类型的位置指定该值的类型例如...