gpt4 book ai didi

java - 如果我在另一个静态方法中调用静态方法,Java程序如何加载

转载 作者:行者123 更新时间:2023-12-02 12:38:55 27 4
gpt4 key购买 nike

据我所知,当第一次访问类时,静态方法将首先加载。我想知道如果一个静态方法调用另一个静态方法,java如何知道首先加载哪个静态方法。例如:

class Test{
public static void a(){
b();
System.out.println("Hello");
}
public static void b(){
System.out.println("World");
}
public static void main(String[] args){
a();
}
}

在上面的代码中,只有正确绑定(bind)了b(),才能调用a()。 java如何知道它应该首先绑定(bind)b()?

最佳答案

嘿伙计们,由于评论,我想我明白我的问题出在哪里了。

静态方法将通过编译进行早期绑定(bind)(或静态绑定(bind)),但绑定(bind)过程只会修复变量和表达式的类型,而不检查静态方法内已撤销的方法。对于我的问题,编译器仍然会提前绑定(bind)两个方法a()和b(),但是a()直到运行时才会调用b(),因为它认为a()内部的b()可能是a动态绑定(bind)方法。

以上只是我的猜测。如果我的回答还有错误,欢迎指正。

关于java - 如果我在另一个静态方法中调用静态方法,Java程序如何加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45025021/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com