Java的反射有什么作用?

问题描述

看了反射机制,但了解太少,能否有哪位大侠给解释一下

解决方案

解决方案二:
初学?--->暂时忽略有SE基础?--->看spring
解决方案三:
反射的作用?我遇到的啊,我只说两点:1,你可以用这个写一个工厂类。详细实现,自己想想就明白了。2,比如说版本问题,一个代码要在不同的版本中运行,这是反射就重要了。第三点的话,其实就是远程调用的了,看看spring吧
解决方案四:
几乎所有java框架都用到了反射,他非常有用
解决方案五:
知道类名就可以调用里面的方法了
解决方案六:
动态加载,动态创建,极大的灵活性,
解决方案七:
反射一般都是用来建设开发框架用的,因为开发框架需要从程序员写的各种各样的类中取到框架需要的参数,然后再根据程序员提供的这个参数进行相应的处理。
解决方案八:
引用3楼liufeng0209的回复:

几乎所有java框架都用到了反射,他非常有用

r
解决方案九:
根据XML得到你想要的东西。
解决方案十:
你看看框架的源码就知道了。最简单的例子,当你还没学会java时候,就已经存在很多框架(spring,hibernate等等),为什么这些框架能够调用你在若干年后学会java后写的类中的方法呢?因为用到了反射,把你的类的方法都可以射出来哈哈。。。

时间: 2024-12-22 18:46:29

Java的反射有什么作用?的相关文章

大神解释一下java反射有什么作用?

问题描述 大神解释一下java反射有什么作用? 我疑问的地方就是,已经创建了类还有属性,为什么还要用复杂的反射去调用,直接创建 不好吗? 解决方案 比如说,eclipse这个软件是先开发好的,你的程序是后写的.为什么eclipse能给你类型的上下文关键字提示,当你输入一个对象,会有一个列表列出所有的对象的方法,这个就是靠的反射. 一个道理,eclipse上有很多插件,明显先有的eclipse后有的插件,那么 eclipse 怎么创建和调用这些插件呢?还是需要反射. 解决方案二: 简单来说两个作用

java-求助,Java中对象序列化的作用是什么?

问题描述 求助,Java中对象序列化的作用是什么? Java中对象序列化的作用是什么?求大神相助,希望能全面一点哦.急求大神解答 解决方案 简单来说,对象像一颗树,里面有字段,如果字段是类型,那么它还有自己的字段. 但是网络传输.保存文件,都必须是线性的,连续的. 序列化就是把这棵树拍扁,成为一个序列的过程. 反序列化就是从一个序列中重新把这颗树拉回来的过程. 解决方案二: 把一个对象,转成流数据,对方根据这个数据还原成初始对象,适用于不同对象间的传输,通讯 解决方案三: 序列化多用于网络IO通

Groovy探索之对Java语言反射的简化

Java语言的反射功能是我们不得不使用的功能,但事实上它的使用是相当繁琐却在功能上比较单一的一个功能. 例如,我们使用Java语言反射最多的地方是在运行时对POJO对象或者Domain对象的"set"和"get"方法的调用,因为对象属性是私有的,获取和设置对象属性的值是通过对应的"get"和"set"方法进行的.下面是一个关于"get"方法调用的例子: public static Object getFie

JAVA中toString方法的作用

以下是对在JAVA中toString方法的作用进行了详细的分析介绍,需要的朋友可以参考下   因为它是Object里面已经有了的方法,而所有类都是继承Object,所以"所有对象都有这个方法". 它通常只是为了方便输出,比如System.out.println(xx),括号里面的"xx"如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法  回答补充:写这个

反射 注解-Java利用反射执行框架注入类的非静态方法

问题描述 Java利用反射执行框架注入类的非静态方法 之前对代码做优化,利用了反射去执行指定类的指定方法: public static JsonResultVO callMethod(Class<?> className String methodName Class<?>[] paramClass Object[] param) { JsonResultVO resultVO = new JsonResultVO(); try { Method m = className.get

Java利用反射自动封装成实体对象的方法_java

本文实例讲述了Java利用反射自动封装成实体对象的方法.分享给大家供大家参考.具体分析如下: 利用此方法的时候需要传递的参数的名称,必须以行号结尾,去掉行号就是属性名称,比如页面传递name+rowNo,那么实体对象的属性名应该为name.代码如下 复制代码 代码如下: //获取页面数据,自动封装成bean对象 public List getObjectList(Class clazz,String[] rowNos) throws Exception{         List objList

java 中反射的应用

java 中反射的应用:   1,获取指定类的所有成员变量,包括父类的成员变量: /*** * get all field ,including fields in father/super class * * @param clazz * @return */ public static List<Field> getAllFields(Class clazz) { List<Field> fieldsList = new ArrayList<Field>();//

【Java】java使用反射访问对象方法和成员变量

虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量.下面我写了一个比较简洁的测试代码,供参考和使用. 测试类 //OBClass.java package com.obo.javaassistdemo; public class OBClass { public int publicField= 999; private int private

方法-求问:java里面static修饰符作用

问题描述 求问:java里面static修饰符作用 static作用具体是什么,非static作用又是什么,static修饰方法和属性分别是什么效果,具体点谢谢 解决方案 static 是全局变量, 如 static int c=0; c=c+1; 那么这变量,就是一个全局变量, 每一次改变它都会执行,但是再给它赋值 就会报错 再这样写 c=5; 系统就会报错. 解决方案二: static修饰的成员变量或者成员函数,是直接通过类名来访问的,不需要实例化的. 而非静态的成员方法的访问需要通过实例化