直接这么修饰成员变量就会报错。这里必须要手动赋值,因为string name这里的默认是值null。一但默认值以后就不能后续再赋值了。所以这里强制你必须要手动赋值。
给name赋值后。后面所有的代码 尝试给name赋值的地方都报错了。
通过构造进行赋值。
构造有两个一个有参的一个无参的。默认的构造没有对name进行赋值。必须保证所有的重载形式的构造方法,都最终会对final的成员变量进行赋值。
通过构造赋值后,后面的setter就不能再给name赋值了