当前位置: 首页 > 知识库问答 >
问题:

为什么要“排除”系统中的静电场。出来println()不会抛出null异常,即使它在声明中被指定为null作为最终值?

邬友樵
2023-03-14

我对'System'类中的'out'静态字段感到困惑,它没有抛出任何nullpointer异常,即使它在声明中被指定为'null'作为最终值。

语句是“System.out.println();”-为了理解整个语句的实现,我使用EclipseIDE追溯到它的实现,方法是按ctrl键并单击“Open Declaration”选项。

这就是“out”静态字段在“System”类中声明的方式。

public static final PrintStream out = null;

为了检查这种实现,我尝试了一个非常基本的代码,IDE确实抛出了一个NullPointerException。

下面是我尝试过的代码

    public class examplo1 {
public static final TryingAnother sameTry = null;
public static void main(String[] args) {
    sameTry.addO();
    System.out.println();
}}

尝试下面的另一个类代码

    public class TryingAnother {
int a = 25;

public void addO()
{
    a = a + 25;
    System.out.println(a);
}}

提前感谢您的答案!

共有1个答案

楚羽
2023-03-14

System.out是默认的outputstream这通常是终端.如果它被声明为您已经编写,那么init是由JVM完成

 类似资料:
  • 我创建了一个从HashMap中删除学生的方法。当id为NULL时,它会抛出一个异常。有人知道它为什么不起作用吗? 公共类应用程序{public static void main(String[]args){ }

  • 问题内容: 根据文档,该方法返回: 如果参数是,则字符串等于; 否则,返回的值。 但是,当我尝试这样做时,怎么会这样: 它会抛出NPE吗?(如果你不相信,请自己尝试!) 怎么会这样呢?文件在骗我吗?这是Java中的主要错误吗? 问题答案: 问题是方法已重载: String.valueOf(Object) String.valueOf(char[]) Java规范语言要求在这种情况下,选择最具体的重

  • 下面是我的代码。当我运行它时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:3、Size:2中得到异常,而不是我的异常消息。谁能解释一下我做错了什么,为什么会这样?谢谢!

  • 问题内容: 运行此命令时: 响应为: 这对我来说真是太棒了。我本以为这会带来编译时错误。 为什么我可以在Java中抛出null,为什么将其转换为NullPointerException? (实际上,鉴于我抛出的是null,因此我不知道这是否是“ upcast”) 除了一个非常愚蠢的面试问题(请没人在面试中问这个问题)之外,我看不到任何理由。也许您想被解雇,但这就是…我的意思是,为什么还会有人呢?

  • 我在行得到异常。怎么会呢?这到底是怎么回事? 这是我的密码。 堆栈跟踪

  • 使用Spring框架实现以下场景 请注意:方法是公共的,在不同的类中。省略了参数和不相关的东西。SaveNotAllowedException被选中异常。 在saveRow方法上,我声明我希望对检查的异常进行回滚。在createOrder方法中,我捕获该异常并执行相关工作来处理该情况。但由于这是一个预期的回滚,我希望Spring也将其视为预期的回滚,并让我尝试一下。 有些人认为这是一个特例。据我理