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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 信仰年轻 中级黑马   /  2015-9-13 15:52  /  383 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
私有只在本类中有效

将age私有化以后,类以外即使建立了对象也不能直接访问
但是人应该有年龄,就需要在Person类中提供访问age的方式

注意:私有仅仅是封装的一种表现形式

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句
对访问的数据进行操作,提高代码健壮性

*/

class Person
{
        private int age;
        private String name;
        public void setAge(int a)
        {
                if(a>0&&a<150)
                {
                        age=a;
                        //speak();
                }
                else
                        System.out.println("feifa");
        }
        public int getAge()
        {
                return age;
        }
        public void setName(String n)
        {
                name=n;
        }       
        public String getName()
        {
                return name;
        }
        void speak()
        {
                System.out.println("age="+age+",name="+name);
        }
}
public class 封装
{
        public static void main(String[] args)
        {
                Person p=new Person();
                p.setName("张三");
                p.setAge(20);
                p.speak();
        }
}

1 个回复

倒序浏览
说的没错,封装是面向对象语言非常重要的特点,某些属性不允许被外界直接访问修改,可以通过setter gerter方式,使得外部访问的权限可控。而.NET则是提出了属性的概念,属性具有getter setter双重属性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马