一尘不染

什么时候才是合适的时间使用'new'关键字?

java

什么时候需要new在Java中使用关键字。我知道您在创建这样的对象实例时应该使用它:

TextView textView = new TextView(this);

有时在代码中,我注意到new没有使用它,我感到困惑。在这一行代码中:

    AssetManager assetManager = getAssets();

为什么不这样创建AssetManager的实例:

AssetManager assetManager = new AssetManager();

然后将其设置为等于getAssests()?

什么时候应该new使用?

谢谢!


阅读 240

收藏
2020-12-03

共1个答案

一尘不染

首次明确创建对象时,请使用new关键字。然后,不需要使用新的getter方法获取对象,因为该对象已存在于内存中,因此不需要重新创建。

如果您想要更详细的新说明,请访问oracle
docs

如果对象为null(对于未初始化来说很合适),则将需要’new’关键字。

编辑:

在当前情况下,这将始终打印“需要新”。

Object mObj = null;
if (mObj == null)
    System.out.println("needs new");
else
    System.out.println("does NOT need new");

OUTPUTS: needs new

因此,要解决此问题,您可以执行以下操作:

Object mObj = new Object();
if (mObj == null)
    System.out.println("needs new");
else
    System.out.println("does NOT need new");
OUTPUTS: does NOT need new

在这种情况下,我们将始终看到“不需要新”

2020-12-03