我有一个语法问题。
我知道类的对象可以创建为:
MyClass classname = new MyClass();
但是,如果执行以下操作,则可以。
MyClass classname;
//.....some lines of code
classname = new MyClass();
答案 0 :(得分:1)
是的,你可以在与类型声明不同的行上实例化对象,但是只有当你想在不同的范围内实例化对象时它才有用:
Object o;
try {
o = new Thing();
} catch(Exception e) {
}
o.toString();
答案 1 :(得分:0)
是的,它可以。
后:
myclass classname;
如果您在分配之前使用classname
,null
引用classname = new myclass();
classname = new myclass();
classname = new child_of_myclass();
classname = other_object_of_classname;
classname = null;
或代码将无法编译,正如Pshemo在评论中所说。
您可以在其他时间/操作之后多次将此引用分配给其他对象,也可以返回null:
{{1}}