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

——- 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值