黑马程序员技术交流社区

标题: 看毕老师视频这个程序不懂 [打印本页]

作者: fantianfei    时间: 2015-6-27 09:11
标题: 看毕老师视频这个程序不懂
  1. class person
  2. {
  3.         private int age;

  4.         public void setAge(int a)
  5.         {
  6.                 age = a;
  7.         }

  8.         public int getAge()
  9.         {
  10.                 return age;
  11.         }
  12.         void speak()
  13.         {
  14.                 System.out.println("age="+age);
  15.         }

  16. }
  17. class PersonDemo
  18. {
  19.         public static void main(String[] args)
  20.         {        person p =new person();
  21.                 p.setAge(20);
  22.                 p.speak();
  23. }
  24. }
复制代码

作者: 水壶vs兔子    时间: 2015-6-27 10:05
大概看得懂,但是不知道怎么说,我也是菜鸟,坐等大神指教!
作者: zuopiezi    时间: 2015-6-27 10:10
就是用了set和get方法。。
作者: 风随心动    时间: 2015-6-27 10:47
很简单,不要怕,就是因为用private封装了属性age,所以主函数只能通过getter和setter对age属性进行赋值和调用,speak()这个方法只是获取设置好的age的值
作者: keto    时间: 2015-6-27 10:47
duo看看吧。。
作者: 八戒    时间: 2015-6-27 11:14
开始是定义了person的age属性,然后声明了get set方法,一个是设置属性值,一个是获取属性值,主函数是new 一个person实例对象 然后初始化age值为20,调用person的打印函数...大概就是这样,多看看,多敲敲,熟能生巧嘛
作者: fanxin_meng    时间: 2015-6-27 11:25
风随心动 发表于 2015-6-27 10:47
很简单,不要怕,就是因为用private封装了属性age,所以主函数只能通过getter和setter对age属性进行赋值和 ...

路过:victory: :victory:
作者: 海角秋风    时间: 2015-6-27 12:00
竟然能看懂了,不过自己敲的话。。。还是需要多敲敲了。。。
作者: 妳的微笑    时间: 2015-6-27 12:15
这程序那个 public int getAge()
        {
                return age;
        }这段可以删掉。主函数创建对象后就没有调用get方法。set方法后就把那个形参传给了实参age
作者: 1千克=1024克    时间: 2015-6-27 14:47
private 修饰了 age  所以在类外不能调用age   这就保护了age的安全  而有时候需要对age的值读取  所以提供2个公共方法  get  set  
作者: wenxueaaa555    时间: 2015-6-27 15:06
用setAge()方法给age赋值,在调用speak()方法
作者: 安安安    时间: 2015-6-27 17:03
我觉的楼主问的时候还是说下那不懂比较好。。
作者: SuperApollo    时间: 2015-6-27 19:31
是私有化问题,private修饰后只能在本类中使用,要想从外部接收参数进来要用到setAge,其实就是个传递外部参数进类中的功能。
作者: liu100chao    时间: 2015-6-27 20:04
自己多多学习吧!没事多敲敲代码!
作者: 飘影    时间: 2015-6-27 20:19
定义一个person类,然后在外面设置他的年龄,然后在调用他的speak方法,多看下面向对象编程。
作者: asinzuo    时间: 2015-6-27 22:27
我竟然看懂了,,,
作者: fantianfei    时间: 2015-6-28 15:45
风随心动 发表于 2015-6-27 10:47
很简单,不要怕,就是因为用private封装了属性age,所以主函数只能通过getter和setter对age属性进行赋值和 ...

谢谢:):):)
作者: fantianfei    时间: 2015-6-28 15:46
八戒 发表于 2015-6-27 11:14
开始是定义了person的age属性,然后声明了get set方法,一个是设置属性值,一个是获取属性值,主函数是new  ...

是这样的呢。。。。。。。
作者: fantianfei    时间: 2015-6-28 15:47
安安安 发表于 2015-6-27 17:03
我觉的楼主问的时候还是说下那不懂比较好。。

是啊,当时感觉好迷惑,不过现在回头看觉得很简单,谢谢。。
作者: zlpiano    时间: 2015-6-28 16:36
封装的手法 ,不允许直接访问和修改age,而只能通过调用方法来读取和修改,甚至可以不允许修改,只提供读取的方法,保证了安全性




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