黑马程序员-java基础面向对象(3)

来源:互联网 发布:毕业论文数据去哪里找 编辑:程序博客网 时间:2024/06/09 19:02

——- android培训、java培训、期待与您交流! ———-


一、封装
1、 封装(Encapsulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2、 好处:
将变化隔离。
便于使用。
提高重用性。
提高安全性。
3、 封装原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。

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

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

  • 注意:私有仅仅是封装的一种表现形式。私有的最小权限。
    之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。
  • 对访问的数据进行操作。提供代码健壮性。

    • 成员变量都有默认值,局部变量没有默认值。

代码块

练习:private实例

package com.itheima7;/** *  * @author jjy *  * 封装(Encapsulation) * 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 * 好处: * 将变化隔离。 * 便于使用。 * 提高重用性。 * 提高安全性。 * 封装原则: * 将不需要对外提供的内容都隐藏起来。 * 把属性都隐藏,提供公共方法对其访问。 *  */public class PersonDemo {    public static void main(String[] args) {        Person p = new Person();        //p.age=-20;//age被直接访问,所以导致安全隐患。        p.setAge(20);        //p.speak();    }       }/** * private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数) * 私有只有本类中有效。 *  * 将age私有化以后,类意外即使建立了对象也不能直接访问。 * 但是人应该有年龄,就需要Person类中提供对应访问age的方式。 *  * 注意:私有仅仅是封装的一种表现形式。私有的最小权限。 *  * 之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 * 对访问的数据进行操作。提供代码健壮性。 *  * 成员变量都有默认值,局部变量没有默认值。 *  * @author jjy * */class Person{    private int age;    //设置方法    public void setAge(int a){        if(a>0 && a<130){            age = a;            speak();        }        else            System.out.println("feifa age");    }    //获取方法    public int getAge(){        return age;    }    //说话方法    void speak(){        System.out.println("age="+age);    }}

其中p.age=-20时,编辑器提示如下信息:
这里写图片描述

使用setAge()和getAge()方法时,内存情况图:
这里写图片描述

0 0
原创粉丝点击