为什么方法在声明之前在Java中可用?
我在JavaScript中介绍了提升的概念,在JavaScript中,所有函数和变量声明都是在执行之前提升的,这就是为什么函数在其实际声明部分之前可用的原因 让我想知道它在Java中到底是如何工作的 考虑以下代码:为什么方法在声明之前在Java中可用?,java,variables,methods,Java,Variables,Methods,我在JavaScript中介绍了提升的概念,在JavaScript中,所有函数和变量声明都是在执行之前提升的,这就是为什么函数在其实际声明部分之前可用的原因 让我想知道它在Java中到底是如何工作的 考虑以下代码: package declarationOrder; public class Main { int num = init(); int init() { return 5; } } 方法init()在到达其声明部分之前,如何准确地用于调
package declarationOrder;
public class Main {
int num = init();
int init() {
return 5;
}
}
方法init()
在到达其声明部分之前,如何准确地用于调用
考虑另一个例子:
package declarationOrder;
public class Main {
int num1 = num2; // compiler error
int num2 = 5;
}
变量的声明顺序是如何在这里起作用的
为什么以及如何区别对待该方法?编译器按照顺序在Java类中加载内容(属性、方法、静态块等): 在您的例子中,方法是第一个加载的方法,然后是类属性 关于将按初始化顺序加载的属性,在第二个示例中会出现一个错误,因为前面提到了
num2
,如果颠倒顺序,它将正常工作:
int num2 = 5;
int num1 = num2;
有关更多详细信息,请参阅