Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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中的对象吗?_Java_Reflection_Metaprogramming - Fatal编程技术网

元编程-类是Java中的对象吗?

元编程-类是Java中的对象吗?,java,reflection,metaprogramming,Java,Reflection,Metaprogramming,package1.MyClass的实例是一个对象,它具有标识、属性、行为并与其他实例(对象)保持关联(组合/聚合) 比如说,package1.MySubClassextendspackage1.MyClass 下面的代码使用了类元编程抽象 Class<?> myClassInstance = Class.forName("package1.MyClass"); Class myClassInstance=Class.forName(“package1.MyClass”); 它提

package1.MyClass
的实例是一个对象,它具有标识、属性、行为并与其他实例(对象)保持关联(组合/聚合)

比如说,
package1.MySubClass
extends
package1.MyClass


下面的代码使用了
元编程抽象

Class<?> myClassInstance = Class.forName("package1.MyClass");
Class myClassInstance=Class.forName(“package1.MyClass”);
它提供了有关
package1.MyClass
class的信息


1)
package1.MyClass
对象吗

2) 如果是,则
package1.MyClass
对象是否具有自己的标识、属性和行为,并保存有关与
package1.MySubClass
对象的泛化关系的信息

3) 为什么Java将元编程称为反射?

的javadoc表明它源于
对象,因此它是一个对象。您可以在
对象上调用
toString()
hashCode()
等。此外,您还可以调用
-特定方法来标识特定属性。查看javadoc了解所有可用信息


请注意,这不是一个特定于Java的术语。元编程这个术语在Java世界中没有广泛使用。

它是一个对象,不清楚2到底是什么,而3主要是因为它不是元编程。您想看一看,但@pvg问题2现在有意义了吗?@pvg它说,反射是元编程的子集,但它没有这么说。它说,反射是一种对某些元编程实现有用的工具。Java不调用“元编程”反射,因为反射并不意味着“元编程”,它意味着其他东西。像C++元编程或LISP宏这样的系统并不严格依赖于运行时的反射。@ Exchange和我所说的不是java中的原始元素(短列表)是一个对象,所以如果你指的不是原始的东西,它就是一个对象。通过查看文档或使用调试器检查文档,您可以确切地看到它是什么。术语还是功能,它说反射是元编程的子集,以一种语言不可知的方式,我没有投反对票,但我不同意Java中没有使用这个术语。我要说的是,使用这个词并不像在语言中那样普遍,这使它变得更容易。我对它投了反对票,作为一个回答,它是懒惰的,模糊地误导/不准确/不完整。更重要的是,这个问题本身不够好,不能脱离主题,我们的努力最好是帮助海报缩小范围和/或重新编排,而不是急于给出同样糟糕的答案。我不同意(并希望在否决票的同时发表评论)。它具体回答了第1点和第2点,我建议在Java社区中没有广泛使用“元编程”这个短语。我的大多数对话都围绕着“反射”这个词(和API)展开,你在反对票上的评论真的不值得,所以我觉得这是一件奇怪的事情,但没关系。我认为javadoc的论点似乎是非基本的和倒退的。问题不在于
是否是
对象
类型的子类型。2根本没有提到,3是模糊的,有点错误,同样,也没有提到3本身提出的问题。因此,这是对一个糟糕问题的糟糕回答,对改善这个糟糕问题几乎没有什么作用,我认为这是更大的罪过。在我看来,无论多么善意,这只会让网站变得更糟。