初识 封装

封装的概念
    封装:包含了两层含义---“封”和“装”,而且应该是先考虑装,再考虑封。
        装---目的是为了把散的东西统一在一起,是为了方便处理和使用;
        封---目的是为了信息隐藏,但信息隐藏也绝对不是说藏的严严实实,也可以是分各种级别的。
涉及“装”的内容
    类的定义
        构造方法(构造器、Constructor)
            定义语法:
                语法:
访问修饰符  类名(形参列表) {
      ......
}
                作用:产生对象
                语法细节:
1、没有返回类型,连void都没有;
2、如果不写,编译器会产生默认的公共无参构 
      造方法;如果写了自定义的构造方法,编译 
       器就不会产生默认构造方法了;
3、构造方法允许重载;
            使用语法
                语法:
 类名 对象名 =  new 构造方法(实参列表);
                执行顺序:
1、在内存堆当中划分空间,空间大小根据属性的个数、类型确定;
2、在该空间划分属性存放的位置;
3、对属性进行初始化,如果没有在代码中赋初值值,那么基本类型属性赋值为0,引用数据类型属性赋值null;
4、执行构造方法当中的代码。
                这个执行顺序 会在后面学习了继承以及静态等概念之后,进一步丰富。
    包的概念
        package 关键字
            作用:将java类分门别类存放到不同的包结构中
            1、编译以后的class文件,class文件也会根据包声明进行对应的结构目录中存放;
2、在不同的包中,可以存在同名的类。
        import 关键字
            作用:如果要使用非本包中的其他类型,需要向编译器指定这个类型的位置和名称。
            1、使用本包当中的类不需要import;
2、使用java.lang包中的类不需要import;
3、如果要使用多个来自不同包的同名类,那么只能import其中1个,其他的应该使用类的限定名。
        类的限定名 ---- 真正的类的全名 ;
形如:包名.类名;
    对象数组
        声明语法:
类名[ ]  数组名 = new 类名[元素个数]; 
        1、对象数组中的每个元素不是一个对象,而是一个存放对象的引用;
2、对象数组new出来之后,默认每个元素都是null;
3、必须保证要访问的数组元素真的指向了一个对象,才能够调用该对象的属性和方法,否则会报运行时异常 ---- 控制针异常!!!
属性:在类型当中装入数据
行为:在类型当中装入功能
涉及“封”的内容
    访问修饰符 --- 三个关键字、四种情况
        public --- 公共的 --- 任意可访
        private --- 私有的 --- 本类自己可访
        protected 和 默认不写两种情况留待继承以后再做补充
        理论上,属性、构造和普通行为的访问修饰符都应该根据具体问题域具体分析,但一般情况下:
            变量属性是private的,然后根据情况提供get/set方法;
            常量属性几乎都是public的
            构造方法一般都是public的
            普通行为一般都是public的
         
    get/set方法
        get方法 --- 访问器
            语法:
 public 对应属性的类型  get属性名(){
        return 属性值;
 }
        set方法 --- 修改器
            语法:
public void set属性名(对应属性的类型  属性名){
       this.属性名 = 属性名;
 }
        提供get/set方法的好处
            为属性只提供get或set方法,可以让属性数据为只写或只读;
            可以在set方法中对数据的有效性进行控制
            可以隐藏类当中保存数据的形式
       
    行为
        方法本身就是把实现细节进行“封”的实现,让外部的调用者看不到具体的实现(对于外部调用者来说用就可以了)。
  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值