黑马程序员技术交流社区

标题: set,get [打印本页]

作者: run_wind    时间: 2014-10-21 15:03
标题: set,get
回头重打了一边程序,发现的好多问题都吓尿了,第5天封装那里,突然发现getAge,没什么用啊,注释掉一样用,why?他的存在有什么意义

   
  1. //private
  2. class Person
  3. {
  4. private String name;
  5. private int age;
  6. private void speak()
  7. {
  8. System.out.println(name+"..."+age);
  9. }
  10. public void setName(String name)
  11. {
  12. this.name=name;
  13. }
  14. public void setAge(int age)
  15. {
  16. if (age>0&&age<130)
  17. {
  18. this.age=age;
  19. speak();
  20. }
  21. else
  22. System.out.println("请输入正确的数值!!");
  23. }
  24. /* public String getName()
  25. {
  26. return name;
  27. }
  28. public int getAge()
  29. {
  30. return age;
  31. }*/
  32. }
  33. class TestDemo5
  34. {
  35. public static void main(String[] args)
  36. {
  37. Person p=new Person();
  38. p.setName("lisi");
  39. p.setAge(20);

  40. }
  41. }
复制代码



作者: Mr.Ni    时间: 2014-10-21 15:20
你又没有调用,注释掉当然一样咯。
而且要看需求了,我要求只打印名字或只打印年龄,你只能在主函数操作的时候,还能用不到么。再者,打印什么的都是最基本的示例需求,还有其它的对数据的操作,比如比较两个名字是否相同,或者两个年龄是否相等......
作者: cxdzh    时间: 2014-10-21 20:55
你的成员变量是private,也就是私有了,外部无法直接访问,这样是为了安全性将其封装起来,防止外部直接对其进行修改而导致出现一些安全问题.
但是有时候又需要对它们进行一些必要的操作,这就需要对外提供一个访问他们的方法,于是就有了get和set.
你没有调用,不代表他们没用..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2