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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李金伦 中级黑马   /  2015-7-13 23:41  /  162 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

        现在数据的赋值是没有问题的,但是不符合常理。这样的数据其实是不真实的。
        那么,我们要保证数据的真实性。
        怎么办,就必须对数据进行校验。
        要想做校验,就必须有逻辑结构语句。
        要想写逻辑结构语句,就必须定义方法。

        但是,现在即使你写了方法,别人还是可以通过:对象名.成员变量
        直接使用。所以,我们应该先解决根本问题,让外界不能直接通过
        对象名.成员变量        访问数据。
        肿么办呢?java就给你提供了一个修饰符 private。

        private:是一个关键字,表示私有的意义。可用于修饰成员变量和成员方法。
                         被它修饰完毕后的内容,在其他类中是不能直接访问的。

        private仅仅是封装的一种体现。因为类,函数等其实也是一个封装的体现。
        */
class j1
{
        private String name;
        private int age;
        public void setName(String fname)//作用是访问本类私有化后的属性。
        {
                name=fname;//把外部的属性赋给name
        }
        public String getName()
        {
                return name;//把此类中的name传到外面
        }
        public void setAge(int fage)
        { `123454
                if(fage<0)  //如果年龄超出范围报错
                {
                        System.out.println("死了");
                }
                else
                {
                        age=fage;
                }
        }
        public int getAge()
        {
                return age;
        }
        public void speak()
        {
                int a =getAge();
                System.out.println("我叫"+name+"今年"+age+"岁"+a);
        }
        /*
        public void speak1()
        {
                age =1000;
                System.out.println("我叫"+name+"今年"+age+"岁");
        }
        */
}
class j3
{
        public static void main(String[] args)
        {
                j1 j=new j1();
                j.setName("狗屎");
                j.setAge(80);
                j.speak();
                //j.speak1();
                //j.speak();
                System.out.println("我叫"+"今年"+j.getAge()+"岁");
               
        }
}

1 个回复

倒序浏览
恩,很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马