Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 - Fatal编程技术网

Java实例方法调用

Java实例方法调用,java,Java,当我调用一个类的实例方法时,如下所示: 对象名称。函数名称;编译器如何知道必须在幕后为对象名调用函数名 这由编译器在读取代码时确定。Java的语法定义了语言的规则和语法。Java的特殊语法规定对象引用后面可以跟一个点,然后是一个方法名 所有语言(不仅仅是编程语言)都有相似的规则。你的大脑正在根据英语的语法编译你正在阅读的句子。语言的规则使人们能够理解语言。通过定义表达含义的规则,我们能够进行交流。编程语言也不例外 当编译器读取代码时,它会将空格或运算符之间的任何单词推入内部堆栈。当它找到一个操作

当我调用一个类的实例方法时,如下所示:
对象名称。函数名称;编译器如何知道必须在幕后为对象名调用函数名

这由编译器在读取代码时确定。Java的语法定义了语言的规则和语法。Java的特殊语法规定对象引用后面可以跟一个点,然后是一个方法名


所有语言(不仅仅是编程语言)都有相似的规则。你的大脑正在根据英语的语法编译你正在阅读的句子。语言的规则使人们能够理解语言。通过定义表达含义的规则,我们能够进行交流。编程语言也不例外

当编译器读取代码时,它会将空格或运算符之间的任何单词推入内部堆栈。当它找到一个操作符,如+、=、或时,就会从堆栈中弹出最后一个字。编译程序知道。运算符表示您正在从一个对象调用一个方法,该对象的名称就是您刚才弹出的单词。然后,它为该方法查找该对象的类文件

例如:

对象名称=新对象

对象名称。函数名称


当编译到达上面一行时,它将object_name推入内部堆栈,然后在object.class文件中查找名为function_name的方法。如果找不到Object.class文件,它将查找Object.java文件并编译该文件,然后在新编译的Object.class文件中查找函数名。

您的问题不是很清楚。你能试着重写一下吗?如果你写object_name.function_name,那么object_name就在左边,所以它知道。。。除非你有别的要求?