gpt4 book ai didi

java - 通过对象实例访问静态方法

转载 作者:行者123 更新时间:2023-12-02 08:15:47 25 4
gpt4 key购买 nike

我了解到,如果我们希望调用另一个类的静态方法,那么在调用静态方法时必须编写类名。在下面的程序中,我在 Employee_Impl 类中创建了 Employee 类的对象,并使用该对象,我仍然能够访问 count 方法。如果仅使用类名访问静态方法,为什么它允许我通过对象使用计数方法?这是否意味着可以使用对象和类名来访问静态方法?

Employee.java

public class Employee{
static int counter = 0;
static int count(){
counter++;
return counter;
}
}

Employee_Impl.java

class Employee_Impl
public static void main(String args[]){
Employee obj = new Employee();
System.out.println(obj.count());
System.out.println(Employee.count());
System.out.println(obj.count());
}
}

输出

1
2
3

最佳答案

编译器会自动通过按变量的类名(不是它的!)进行调用来替换此调用。请注意,即使您的对象为空,it will work ,不会抛出 NullPointerException

关于java - 通过对象实例访问静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32039657/

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