null是什么的实例?

时间:2015-11-17 06:33:38

标签: java

下面的代码是编译错误。 可能尚未初始化本地可用

Template.PanelEditAbout.rendered = function() {
  Meteor.subscribe("page", Yourslug,{
    onReady: function () { console.log("onReady And the Itemns actually Arrive",     arguments); },
    onError: function () { console.log("onError", arguments); }
  });
};

并由此

修复
String str;
my_obj.setValue(str);

那么什么是null实例? null和未初始化之间有什么区别。

为什么这样做?

我的班级

String str = null;
my_obj.setValue(str);

我初始化了obj而不是obj.str。但没有这样的编译错误......

class MyClass {
    String str;
}

在发布此问题之前,我已经阅读了所有人的建议。也许它是重复的,但我并没有从中得到任何想法。

1 个答案:

答案 0 :(得分:2)

局部变量不会获得默认值。它们的初始值是未定义的,没有通过某种方式分配值。在使用局部变量之前,必须初始化它们。

当您在类级别(作为成员,即作为字段)和方法级别声明变量时,会有很大的不同。

如果在类级别声明字段,则会根据其类型获取默认值。如果在方法级别或作为块声明变量(意味着{}中的任何代码),则不会获取任何值并保持未定义,直到他们获得一些起始值,即分配给它们的某些值。

必须在访问本地变量之前对其进行初始化。 未初始化意味着您尚未为该实例创建对象。分配值将创建一个使用它的对象。

String str ;

上面的代码表示,您刚刚声明了它。但是,不能使用它,直到它被赋予一些实际值或为空。

可以在 this link

上验证对问题的引用