实例化时赋值和用Set方法来赋值有什么异同或效率问题?

bestfuture 2006-04-26 12:21:08
public class Online {
public Online() {
}
private int companyID;
private int userID;


public void setCompanyID(int _companyID)
{
companyID=_companyID;
}

public void setUserID(int _userID)
{
userID=_userID;
}

public Online(int _companyID,int _userID)
{
companyID=_companyID;
userID=_userID;
}
}

************************************
像上面的方法。我可以Online ol=new Online(1,2);这样来实例化的时候给相关的变量赋值。
也可以:
Online ol=new Online();
ol.setCompanyID()=1;
ol.setUserID()=1;

******************************
实例化时赋值和用Set方法来赋值有什么异同或效率问题?
...全文
347 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
killme2008 2006-04-26
  • 打赏
  • 举报
回复
这类问题只有理论上的价值,实际项目中用哪种方法不一定的。
在我看来,setter方法更为符合javabean的规范
而重载构造函数容易造成混淆
个人观点,不要砸:)
hemiao_1993 2006-04-26
  • 打赏
  • 举报
回复
感觉没有什么区别. 在构造函数里赋值代码简洁, 用Set赋值定值灵活. 效率应该没有什么差别.
hbyjlypp 2006-04-26
  • 打赏
  • 举报
回复
构造函数
在运行 时候只是在开始的时候运行一次。
例如
online o1=new online(1,1);
想改变值是只能引用,即o1.set()....
如果 o1再实例化,那当前的o1已经不再是先前的o1对象。
bestfuture 2006-04-26
  • 打赏
  • 举报
回复
除了各自的方便之处,真的没有效率上的问题吗?
killme2008 2006-04-26
  • 打赏
  • 举报
回复
Top
interpb(曾曾胡,深怕情多累美人!!!) ( ) 信誉:105 2006-04-26 13:01:00 得分: 0


方法的调用比直接赋值效率高一点

不过影响很小

关键setter/getter方法 提供了改变对象属性的接口,可以自由控制访问权限


----------------------------
如何得出这个结论?
interpb 2006-04-26
  • 打赏
  • 举报
回复
方法的调用比直接赋值效率高一点

不过影响很小

关键setter/getter方法 提供了改变对象属性的接口,可以自由控制访问权限
coolmomo 2006-04-26
  • 打赏
  • 举报
回复
楼主,你可以这样,也可以那样,但是这样和那样并不是一样.
如果为什么要有set和get方法?因为并不是所有对象初始化的时候,都知道成员的值.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧