Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
何时使用java.lang.reflect包_Java_Reflection - Fatal编程技术网

何时使用java.lang.reflect包

何时使用java.lang.reflect包,java,reflection,Java,Reflection,这可能是一个简单的问题 我没有机会使用java.lang.reflect包及其相关类。 但是我知道Java编译器使用反射来获取类信息 我的问题是,当编译器本身使用反射包时,为什么Java会公开反射包?有谁能解释一下我们使用reflect包的情况吗?简单地说,只要您想反省类并确定它们的结构,就可以通过名称字符串等调用方法 很多框架都会使用这个 e、 如果您在Spring配置XML文件中指定属性,它将使用该字符串,例如position,派生一个方法名,例如setPosition,然后调用该名称。请注

这可能是一个简单的问题

我没有机会使用java.lang.reflect包及其相关类。 但是我知道Java编译器使用反射来获取类信息


我的问题是,当编译器本身使用反射包时,为什么Java会公开反射包?有谁能解释一下我们使用reflect包的情况吗?

简单地说,只要您想反省类并确定它们的结构,就可以通过名称字符串等调用方法

很多框架都会使用这个


e、 如果您在Spring配置XML文件中指定属性,它将使用该字符串,例如position,派生一个方法名,例如setPosition,然后调用该名称。请注意,在本例中,您从字符串开始,并在运行时派生/调用该方法。编译器一点也没有涉及。

简单地说,每当您想对类进行反思并确定它们的结构时,可以通过名称字符串等调用方法

很多框架都会使用这个


e、 如果您在Spring配置XML文件中指定属性,它将使用该字符串,例如position,派生一个方法名,例如setPosition,然后调用该名称。请注意,在本例中,您从字符串开始,并在运行时派生/调用该方法。编译器一点也没有参与。

哇,很有趣-我刚刚在霍斯特曼第5章-继承中读到了这一点:

反射库为您提供了一个非常丰富和详细的工具集 要编写动态操作Java代码的程序。。。沉重地 在Java组件体系结构JavaBeans中使用。。使用 在反射方面,Java可以支持一些工具,比如 VisualBasic已经习惯了


总的来说,这是一个相当强大的功能。更多信息请参见

哇,很有趣-我刚刚在霍斯特曼第5章-继承中读到了这一点:

反射库为您提供了一个非常丰富和详细的工具集 要编写动态操作Java代码的程序。。。沉重地 在Java组件体系结构JavaBeans中使用。。使用 在反射方面,Java可以支持一些工具,比如 VisualBasic已经习惯了


总的来说,这是一个相当强大的功能。更多信息请参见

您可以将元编程与该功能结合使用,功能极其强大,而且成本也很高,不必提及其难度。但在某些情况下,该功能会变得非常有用


您可以将元编程与该功能结合使用,它的功能非常强大,而且成本也很高,而且没有提到它的困难。但在某些情况下,该功能会变得非常有用


在过去,我们会编写这样的程序:

编写/修改类、方法等 编译它 运行它 但现在我要反省一下:

编写/修改类、方法等

编译它 运行它 即使在编译和运行之后也要修改类! 如果你感兴趣,请尝试我作为一个来源提供的链接 在下面希望如此

这是一个很好的问题


来源

在过去,我们会编写这样的程序:

编写/修改类、方法等 编译它 运行它 但现在我要反省一下:

编写/修改类、方法等

编译它 运行它 即使在编译和运行之后也要修改类! 如果你感兴趣,请尝试我作为一个来源提供的链接 在下面希望如此

这是一个很好的问题


source

任何时候都可以使用反射。一个示例是注释处理。但是如果你问这个问题,你很可能自己没有用户@MaheshVarma工具、框架功能、表达式语言、变通方法等等。@MaheshVarma反射将告诉编译器它正在使用的类。它需要知道它正在编译的程序将要使用的类。任何时候都可以使用反射。一个示例是注释处理。但是如果你问这个问题,你很可能自己没有用户@MaheshVarma工具、框架功能、表达式语言、变通方法等等。@MaheshVarma反射将告诉编译器它正在使用的类。它需要知道它正在编译的程序将要使用的类。在内部,编译器在方法区域中搜索映射。不是吗@布瑞恩Agnew@Brian你是在混合内省和反思吗?通过java.beans.PropertyDescriptorgetWriteMethod从属性名获取write方法。它可能基于反射,但它不是java.lang.reflect包的一部分。@Adonyelle-反射将在内核中用于获取类方法名称。在内部,编译器在方法区域中搜索映射。不是吗@布瑞恩Agnew@Brian你是在混合内省和反思吗?通过java.beans.PropertyDescriptorgetWriteMethod从属性名获取write方法。它可能是基于反射,但它是我的
它不是java.lang.reflect包的一部分。@Adonyelle-reflection将用于获取类方法名称,该名称似乎是指向光线跟踪演示文稿的链接。如何在运行时使用反射修改类方法?我以为编译是通过编译api处理的?@DaveNewton正确,这是一个指向演示文稿的链接,其中有关于java反射以及何时使用它的更多详细信息。天哪,不是这样的。仅仅因为“反射”一词出现在有关光线跟踪的演示文稿中(这是一种反射类型),并不意味着它是关于Java反射的。你甚至连看都没看。@DaveNewton哦,天哪,你现在情绪非常低落:!!我只是想分享一些信息。为什么在一个关于Java反射的问题中分享有关光线跟踪的信息?!或者关于反射API允许什么的错误信息?这似乎是指向光线跟踪演示文稿的链接。如何在运行时使用反射修改类方法?我以为编译是通过编译api处理的?@DaveNewton正确,这是一个指向演示文稿的链接,其中有关于java反射以及何时使用它的更多详细信息。天哪,不是这样的。仅仅因为“反射”一词出现在有关光线跟踪的演示文稿中(这是一种反射类型),并不意味着它是关于Java反射的。你甚至连看都没看。@DaveNewton哦,天哪,你现在情绪非常低落:!!我只是想分享一些信息。为什么在一个关于Java反射的问题中分享有关光线跟踪的信息?!或者关于反射API允许什么的错误信息?