java - 我们可以在 Java 中调用带有空对象的静态方法吗?如果是这样,如何?

标签 java static

既然可以直接从类中调用静态方法(即ClassName.methodName),为什么还要用类的对象调用静态方法呢?

如果有人知道,请举例说明。

public static void methodA(){

}

最佳答案

以下代码包含一个示例,其中通过null 引用调用静态方法。

public class Test {
    public static void main(String... args) {
        Test test = null;
        test.greeting(); // call with null reference
    }
    public static void greeting() {
        System.out.println("Hello World");
    }
}

因为 Test::greeting 是一个静态方法,表达式 test.greeting() 等同于 Test.greeting()。因此,在运行时不会抛出 NullPointerException

关于java - 我们可以在 Java 中调用带有空对象的静态方法吗?如果是这样,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800309/

相关文章:

java - 错误 ClientBuilder() is not public in com.company.entities.Client.ClientBuilder;无法从外部包访问

java - 如何获取 AutoCompleteField 中选定的文本并通过帖子将其发送到服务器

ios - 是否可以仅在使用设备而不是模拟器进行测试时使用静态库?

c - 反对 static int 指针的参数

c# - 只有静态方法的类应该是静态的吗?

c++ - 为什么我不能在 C++ 中初始化静态字段

java - 在 hashmap 中一般实现方法中传递参数

java - Apache camel 和 spring-boot 构造函数注入(inject) - NPE

java - 没有可用的 org.springframework.web.client.RestOperations 类型的合格 bean

redirect - Netlify 重定向不起作用