Java 如何处理从未使用分配对象的情况

Java 如何处理从未使用分配对象的情况,java,eclipse,Java,Eclipse,在某些情况下,构造函数调用是所需的一切,我不需要对创建的对象进行任何方法调用。根据Java编译器的首选项,如果我不将创建的对象分配给变量,Eclipse会发出警告/错误“从未使用分配的对象”,如果我将局部变量的值分配给变量,Eclipse会发出警告/错误“未使用分配的对象” 我知道我可以关闭Eclipse首选项中的警告/错误。我的问题是:Eclipse报告“从未使用分配的对象”的原因是什么?如果有充分的理由,我应该如何处理这些不需要对创建的对象进行方法调用的情况?如果您的类的所有逻辑都在构造函数

在某些情况下,构造函数调用是所需的一切,我不需要对创建的对象进行任何方法调用。根据Java编译器的首选项,如果我不将创建的对象分配给变量,Eclipse会发出警告/错误“从未使用分配的对象”,如果我将局部变量的值分配给变量,Eclipse会发出警告/错误“未使用分配的对象”


我知道我可以关闭Eclipse首选项中的警告/错误。我的问题是:Eclipse报告“从未使用分配的对象”的原因是什么?如果有充分的理由,我应该如何处理这些不需要对创建的对象进行方法调用的情况?

如果您的类的所有逻辑都在构造函数中执行,也许您应该将其移动到静态方法,而不是创建一个永远不会使用的实例

构造函数用于创建一个类的实例以供以后使用。我认为您可能误用了构造函数。

来自Eclipse规范

启用后,当编译器遇到未使用的已分配对象时,将发出错误或警告,例如


但它作为一个整体进行报道。无需忽略它。

请注意,这是一个编译器警告,Eclipse并不是自己生成的。例如,让我们假设,我想编写一个只显示SWT DateTime控件的程序。我只需要构造函数调用newdatetime(shell,SWT.CALENDAR);只是因为我的程序没有做更多的事情,这是否意味着我误用了DateTime的构造函数?还是SWT DateTime类的软件设计很糟糕?我可以将DateTime的构造移动到自己的静态方法中。但是这样做有什么好处呢?
if (name == null)
    new IllegalArgumentException();