A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 黄湘怡 黑马帝   /  2011-11-3 17:06  /  2133 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Person
  2. {
  3.         private String name;

  4.         Person(String name)
  5.         {
  6.                 this.name = name;               
  7.         }

  8.         public void setName(String name)
  9.         {
  10.                 this.name = name;
  11.         }

  12.         public String getName()
  13.         {
  14.                 return name;
  15.         }

  16. }
复制代码
在构造方法里写了一遍this.name = name,又在set方法里写了一遍是不是多余的?两者的区别在哪里??

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 know 于 2011-11-3 17:38 编辑

构造方法里的this.name=name是你在new 对象的时候对私有变量赋初值,但是当我们需要再次更改这个私有变量咋办啊?不可能再去调用构造方法了吧。当然就是通过setName()方法啦!!通过调用setName()方法就可以给类中的私有变量赋新的值了啊!!!所以并不多余的啦!!{:soso_e100:}

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这两个不一样,在构造方法中写this.name=name是类初始化时所设置的值,
而set中的 this.name=name是你自己随时可以用新值来改变初始化时所设置的值。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
恩,我明白了,谢谢大家~!
回复 使用道具 举报
都是高手
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马