FROM P104
对象初始化语句扩展了创建语法,在表达式的尾部放置了一组成员初始化语句。这允许你在创建新的对象实例时,设置字段和属性的值。
该语法有两种形式,如下所示,一种形式包括构造函数的参数列表,另一种不包括。注意,下面的第一种形式甚至不适用括起参数列表的圆括号。
1 new Typename { FieldOrProp=InitExpr,FieldOrProp=InitExpr,……} 2 new TypeName(ArgList) { FieldOrProp = InitExpr, FieldOrProp = InitExpr,…… }
例如,对于一个名称为Point的类,它有两个公有整型字段X和Y,则可以使用下面的表达式创建一个新的对象:
1 new Point { X = 5, Y = 6 };
注意与之前C++时写的习惯略有不同,中括号内需要写上变量名。并且不要忘了作为一个单独的语句,后面要加上分号。
关于对象初始化语句要了解的重要内容如下:
□创建对象的代码必须要能够访问要初始化的字段和属性。例如,在之前的代码中X和Y必须是public的。
□初始化放生在构造方法执行之后,因此在构造方法中设置的值可能会在之后对象初始化中重置为相同或不同的值。