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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马连家华 中级黑马   /  2012-2-28 21:16  /  2141 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Noword 于 2012-2-28 21:30 编辑

class PersonAge
{
        private int age
        public void setAge (int a)
        {
                if (a > 0 && a< 150)
                {        age = a;
                        speak();
                }
                else
                        System.out.println("Wrong age");
        }
        void speak()
        {
                System.out.println("age="+age);
        }
        public int getAge ()
        {
                return age;
        }
}
不知道这个getAge()方法有什么用呢?跟setAge有什么关系?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

6 个回复

倒序浏览
由于age被private修饰,根据修饰符的访问权限,在PersonAge类外,是无法直接使用age成员。而这时可以通过调用getAge()方法来获得age(getAge()是public修饰)

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
刘基军 发表于 2012-2-28 21:23
由于age被private修饰,根据修饰符的访问权限,在PersonAge类外,是无法直接使用age成员。而这时可以通过调 ...

跟我想的差不多,得到肯定了,我也就能放心地记下了~
回复 使用道具 举报
为了提高程序的封装性和安全性,由于类中的成员被private修饰,这样在其他类中就无法直接访问和修改类中的成员。(个人见解)
回复 使用道具 举报
封装 - 把属性私有化,提供共有访问方法,真正项目里的业务不必写在getter&setter中,因为会有相应的业务层根据业务来控制属性的。
回复 使用道具 举报
本帖最后由 胡军喜 于 2012-3-1 17:26 编辑

你的类中有age这个私有属性,这个属性只能本类可以访问,提供了getAge()和setAge()方法后,就可以通过这两个方法来操作类的age属性。
要不然,你又写了age属性,又不让外部类来操作它,那你写它有什么作用?
回复 使用道具 举报
PersonAge类中的age被限制了访问权限 private为私有的! 无法从别的类中直接调用 要提供一个能调用的方法  get() set() 把这些属性封装在PersonAge的类中 要想调用此类中的属性就要通过get()方法来调用  可以通过set()方法设定参数!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马