问题描述
举个例子:有个Cat类:publicclassCat{publicstringname;//name是字段privateintage;publicintAge//Age是属性{get{returnage;}set{age=value;}}}Catkitty=newCat{name="Kitty",Age=10};//这样既对字段赋值又对属性赋值正确吗?第二个问题:自定义一个带参数的构造函数就可以实现上述功能了,为什么还要再整个对象构造器出来啊?不是多此一举吗?
解决方案
解决方案二:
你说的对拉。根据需求来整。
解决方案三:
只要是pubic的都可以赋值,但一般情况下不建议public字段
解决方案四:
引用
第二个问题:自定义一个带参数的构造函数就可以实现上述功能了,为什么还要再整个对象构造器出来啊?不是多此一举吗?
当一个类有很多属性需要初始化,这种情况下写构造函数就太复杂了
解决方案五:
Catkitty=newCat{name="Kitty",Age=10};这不是初始化,这是采用空构造函数,然后立刻赋值,只是个语法糖而已,实际上等价于Catkitty=newCat();kitty.name="Kitty";kitty.Age=10;
如果你是一个类在初始化的时候需要赋值,那么应该提供相应的构造函数,比如下面的publicCat(){this.name="Kitty";this.Age=10;}
这样你只需要Catkitty=newCat();就可以了
时间: 2024-11-29 04:30:20