我是一名Java程序员,目前正在阅读GoF关于设计模式的书籍,其中的例子以C和Smalltalk语法给出.我在C中遇到了一个特殊的语法,我发现它被称为member initialization list.从给出的答案来看,使用成员初始化列表似乎比使用成员变量的赋值更好(更有效).在Java中有类似的东西吗?如果没有,那么Java设计师应该有一个很好的理由不包含这个功能.你对此有何看法?
最佳答案
感谢C中必要的原因并不适用于Java.
字段只是引用或基元,因此您无需担心构建字段对象并对其执行赋值操作.
Java允许在构造函数体中精确分配最终字段一次(尽管规范很详细).