发布于2022-11-15 21:39 阅读(1175) 评论(0) 点赞(20) 收藏(3)
我是 Java 的新手,我也想知道如何在带有参数的构造函数中正确分配值。问题是如何正确封装值,即我们是使用set
方法还是只使用this
关键字就足够了?请注意我问的是封装和 OOP。
public class cars{
private String make;
private String model;
public String getMake(){
return make;
}
public String getModel(){
return model;
}
public void setMake(String ParamMake){
this.make = ParamMake;
}
public void setModel(String ParamModel){
this.model = ParamModel;
}
// Should it use the setter
public cars(String make,String model){
setModel(model);
setMake();
}
// Or
public cars(String make,String model){
this.model = mode;
this.make = make;
}
}
对此有两种思想流派:
永远不要从构造函数中调用可重写的方法,setter除外;如果您有二传手,请始终使用它,因此对成员的分配只会发生在一个中心位置。
永远不要从构造函数中调用可重写的方法,即使是 setter;只需直接分配,this.make = make;
例如通过。
我相信#2 是更广为接受的思想流派。#1 的问题是,如果一个子类重写了 setter,那么在构造过程中,您可能会遇到难以理解的类之间的串扰。
旁注:Java 有严格遵守的命名约定。类名应以大写字符开头;变量、参数和方法名称不应该。所以Cars
,不是cars
,而且paramModel
,不是ParamModel
。
¹“可重写” - 例如,非private
,非final
方法。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/569503/8de0d1648fec9730c529/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!