当前位置: 首页 > 面试题库 >

我们可以在Java中使用null对象调用静态方法吗?如果是这样,怎么办?

厍浩广
2023-03-14
问题内容

由于可以直接从类(即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在运行时不会抛出异常。



 类似资料:
  • 问题内容: 我知道jython允许我们从任何Java的类文件中调用Java方法,就好像它们是为python编写的一样,但是相反的可能吗? 我已经有很多用python编写的算法,它们在python和jython上都可以很好地工作,但是它们缺少适当的GUI。我计划将GUI与Jav​​a一起使用,并保持python库完整。我无法使用jython或python编写良好的GUI,也无法使用python编写良

  • 本文向大家介绍我们可以在Java中使用此关键字调用方法吗?,包括了我们可以在Java中使用此关键字调用方法吗?的使用技巧和注意事项,需要的朋友参考一下 Java中的“ this”关键字在实例方法或构造函数中用作对当前对象的引用。是的,您可以使用它来调用方法。但是,您只能从实例方法(非静态)中调用它们。 示例 在下面的示例中,Student类具有一个私有变量名称,具有setter和getter方法,

  • 问题内容: 我有以下代码: 运行此命令时,我不断收到错误消息: 怎么解决呢? 问题答案: 您正在将 未绑定的 对象存储在字典中。通过访问名称作为类或实例上的属性,此类对象(以及对象,函数和对象)仅通过描述符协议进行绑定。直接访问类主体中的对象不是属性访问。 在 创建类 之后 创建字典(以便您将它们作为属性访问),或者显式绑定,或者在将它们存储在字典中之前提取原始函数。 注意,对对象的“绑定”仅意味

  • 问题内容: 我有一些经常被调用的代码,将它们声明为变量是否有意义? 在这种情况下将动态参数传递给方法是否安全? 问题答案: 不, 它们不是线程安全的,请改用Joda-time的版本 。 或者将它们包装在同步方法中,并使其成为线程安全的 博士说得很清楚 日期格式不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一种格式,则必须在外部进行同步。

  • 本文向大家介绍我们可以在MySQL中使用ORDER BY NULL吗?,包括了我们可以在MySQL中使用ORDER BY NULL吗?的使用技巧和注意事项,需要的朋友参考一下 是的,我们可以做到 注–在MySQL 5.7之前,ORDER BY NULL很有用,但在MySQL 8.0中,例如,最后不需要指定ORDER BY NULL以抑制隐式排序。 让我们首先创建一个表- 使用插入命令在表中插入一些

  • 正如我们所知,没有任何规定可以防止多个线程使用方法调用方法。我确实创建了两个对象和都调用同一个线程来运行。 我需要在第二个对象开始执行之前,通过调用线程来确保第一个对象完成()其执行。 我的问题是为什么我不能在我创建的线程(即)中使用关键字? 我尝试在我创建的线程中使用“同步”来运行()方法,但它给出了任意输出(换句话说,不等待完成执行)。 你可以在程序的最底层看到我得到的输出。 正如您所看到的,