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