gpt4 book ai didi

java - 混淆类级别和实例级别

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:39 24 4
gpt4 key购买 nike

我有以下类(class):

public class B {

public void print() {
}

public static void main(String[] args) {
B B = new B();
B.print();
}

}

我想知道为什么编译器没有报错说它不是静态方法。当我们拥有与类相同的对象时,如何区分类级别和实例级别?

最佳答案

因为您正在访问类实例上的方法。顺便说一句,实例的名称与类名相同,但由于您没有使用此名称的静态方法,因此编译器会假定正确的名称 - 即实例方法。

如果您将方法定义为static,那么它将再次假定唯一可能的事情——在B 上调用static 方法类,因为实例没有这样的方法。

最终,您不能同时拥有同名的 static 和非 static 方法。

关于java - 混淆类级别和实例级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2290599/

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