-1

我有一个语法问题。

我知道一个类的对象可以创建为:

MyClass classname = new MyClass();

但是如果执行以下操作可以吗:

MyClass classname;
//.....some lines of code
classname = new MyClass();
4

2 回答 2

1

是的,您可以在与类型声明不同的行上实例化对象,但是仅当您想在不同的范围内实例化对象时才有用:

Object o;
try {
     o = new Thing();
} catch(Exception e) {
}
o.toString();
于 2013-01-26T12:03:05.160 回答
0

是的,它可以。

后:

myclass classname;

正如 Pshemo 在评论中所说,如果您在分配之前使用它,您的classname引用或代码将不会编译。null

您可以在其他时间/操作多次后将此引用分配给其他对象,也可以返回 null:

classname = new myclass();
classname = new myclass();
classname = new child_of_myclass();
classname = other_object_of_classname;
classname = null;
于 2013-01-26T12:02:35.557 回答