Java RelationalExpression实例中的ReferenceType是什么类型的对象?

Java RelationalExpression实例中的ReferenceType是什么类型的对象?,java,semantics,instanceof,boolean-expression,Java,Semantics,Instanceof,Boolean Expression,在实践中,Java在其大部分语义中都需要一个对象作为输入和输出,不管它是基元类型还是实际对象,不包括类型名、参数列表和返回类型等类元数据 作为一种OOP语言,无论是否所有内容都作为对象存储在内存中,所有内容都被视为抽象级别上的对象 所以,我想知道,生产过程中的对象是什么 例如,在以下表达式中: object instanceof ReferenceType 我想知道ReferenceType是否为实际对象,如果不是,根据JVM规范,JVM如何将其表示为字节码,以及它是如何工作的 实际上,Jav

在实践中,Java在其大部分语义中都需要一个对象作为输入和输出,不管它是基元类型还是实际对象,不包括类型名、参数列表和返回类型等类元数据

作为一种OOP语言,无论是否所有内容都作为对象存储在内存中,所有内容都被视为抽象级别上的对象

所以,我想知道,生产过程中的对象是什么

例如,在以下表达式中:

object instanceof ReferenceType
我想知道
ReferenceType
是否为实际对象,如果不是,根据JVM规范,JVM如何将其表示为字节码,以及它是如何工作的

实际上,Java需要一个对象作为输入,一个对象作为输出 一切,

哦,不,那是夸大其词。即使我们排除了标点符号和关键字等语法元素,Java也有原语类型的值。它有类型名

而且,作为一种OOP语言,一切都是 作为一个对象对待

你随便乱说“一切”这个词会给自己带来麻烦。我认为您试图断言,在OO语言中,程序中的所有数据都由对象表示。至少这是我能达到的最接近实际的解释,事实上,某些OO语言(SmallTalk、Ruby等)也是如此,但Java却不是如此

所以我想知道,物体是什么 生产中的ReferenceType,RelationalExpression(instanceof)

它不是一个物体。它是一个类型名

它在运行时如何在JVM中表示

我必须检查以确定,但很可能它是由表达式出现的类的常量池中的引用表示的

什么样的物体可以移动 如果在中通常使用类型,则传递到此表达式(如果有) 诸如类声明器或变量声明器之类的声明

instanceof
表达式的右操作数是一个类型名,实际上,它在类和变量声明器中使用。它不是一个值,既不是引用也不是基元类型

是吗 一个只代表真实类型或类的“元对象”

Java语言没有“元对象”的概念,至少与
Java.lang.Class
类型的对象不同。但是
Class
类型的对象仍然是对象,对它们的引用不适合用作
表达式实例的右操作数。右侧操作数必须是类型名

为什么 Java开发人员不允许在适当的位置传递类对象吗 是指引用类型,还是我的思维模式不对 瞬间

我不能权威地谈论Java设计师的动机,我不是他们中的一员。但是,我确实注意到,自Java 1.1以来可用的
Class.isInstance()
,其作用与允许引用
的作用相同,就像
instanceof
表达式的右操作数一样

instanceof
的右侧操作数必须是类型名

实际上,Java需要一个对象作为输入,一个对象作为输出 一切,

哦,不,那是夸大其词。即使我们排除了标点符号和关键字等语法元素,Java也有原语类型的值。它有类型名

而且,作为一种OOP语言,一切都是 作为一个对象对待

你随便乱说“一切”这个词会给自己带来麻烦。我认为您试图断言,在OO语言中,程序中的所有数据都由对象表示。至少这是我能达到的最接近实际的解释,事实上,某些OO语言(SmallTalk、Ruby等)也是如此,但Java却不是如此

所以我想知道,物体是什么 生产中的ReferenceType,RelationalExpression(instanceof)

它不是一个物体。它是一个类型名

它在运行时如何在JVM中表示

我必须检查以确定,但很可能它是由表达式出现的类的常量池中的引用表示的

什么样的物体可以移动 如果在中通常使用类型,则传递到此表达式(如果有) 诸如类声明器或变量声明器之类的声明

instanceof
表达式的右操作数是一个类型名,实际上,它在类和变量声明器中使用。它不是一个值,既不是引用也不是基元类型

是吗 一个只代表真实类型或类的“元对象”

Java语言没有“元对象”的概念,至少与
Java.lang.Class
类型的对象不同。但是
Class
类型的对象仍然是对象,对它们的引用不适合用作
表达式实例的右操作数。右侧操作数必须是类型名

为什么 Java开发人员不允许在适当的位置传递类对象吗 是指引用类型,还是我的思维模式不对 瞬间

我不能权威地谈论Java设计师的动机,我不是他们中的一员。但是,我确实注意到,自Java 1.1以来可用的
Class.isInstance()
,其作用与允许引用
的作用相同,就像
instanceof
表达式的右操作数一样


实例的右侧操作数必须是类型名。

引用类型是符号引用<根据Java虚拟机规范(Java 10),code>instanceof
具有相应的
instanceof indexbyte1 indexbyte2
指令。两个索引