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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fanrong 中级黑马   /  2015-6-18 23:55  /  618 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

封装:是指隐藏对象的属性和实现细节
private是封装的最小权限私有
            被private修饰的成员,可使其只在本类中有效
       但原则是:必须要提供一个公共方法,对其访问、
所以要有set,get方法,
         set是设置属性,get是获取属性因此get方法要有返回值。
好处:将变化隔开,便于使用,提高重用性和复用性

14 个回复

倒序浏览
学习了
回复 使用道具 举报
public protected 也是封装吧
回复 使用道具 举报
恩恩..............
回复 使用道具 举报
路过.....
回复 使用道具 举报
学习了。加油!
回复 使用道具 举报
加油 ..
回复 使用道具 举报
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

    好处:
    1. 将变化隔离。
    2. 便于使用。
    3. 提高重用性。
    4. 提高安全性。

    封装原则:
    1. 将不需要对外提供的内容都隐藏起来。
    2. 把属性都隐藏,提供公共方法对其访问。如,getXXX,setXXX。
示例:
/*
人:
属性:年龄
行为:说话
*/
class Person{
       //private:私有,是一个权限修饰符,用于修饰
       //不希望别人直接访问赋值,需要通过私有化把属性进行隐藏
       private int age ;

       //通过提供set、get公共方法对其访问
       public void setAge( int a){
             //在set方法内可以对属性的赋值进行限制
             if (a > 0 && a < 130){
                   age = a;
            } else
                  System.out .println("错误的数据" );
      }

       public int getAge(){
             return age ;
      }

       void speak(){
            System.out .println("age = " + age);
      }
}

class PersonDemo{
       public static void main(String[] args){
            Person p = new Person();
            //通过其他方式访问
            p.setAge(20);
            p.speak();
            //赋值不合法,set方法就不允许成功赋值
            p.setAge(-20);
      }
}
复制代码
   运行结果:



    P.S.
    1、私有仅仅是封装的一种体现而已。
    2、private关键字:是一个权限修饰符,用于修饰成员(成员变量和成员函数),被私有化的成员只在本类中有效。
    3、常用场景之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问,提高对数据访问的安全性。

回复 使用道具 举报
封装 打包不让别人看!!!
回复 使用道具 举报
谢谢分享~
回复 使用道具 举报
再次复习了
回复 使用道具 举报
keto 中级黑马 2015-6-20 09:43:39
12#
xuexile.......
回复 使用道具 举报
是提高代码的安全性吧
回复 使用道具 举报
不至是通过set,get方法,还可以通过构造函数为成员变量赋值
回复 使用道具 举报
来学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马