mac-Java-面向对象10-封装

Java-面向对象-封装

概述

面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装类似于一个保护屏障,防止该代码和数据被其他类随意访问。要访问该类数据,必须通过指定的方式。适当的封装可以让代码更容易维护与理解,也加强了代码的安全性。

原则

将属性隐藏起来,若要访问某个属性,提供公共方法对其访问

权限修饰符

在定义成员变量时不仅会指定变量的类型,还会有修饰符部分。

//定义变量
[修饰符] 变量类型 变量名称;
 [修饰符] 变量类型 变量名称=出始值
 public int age;
 private double weight;

作用:修饰变量、限定使用范围。

常见修饰符:public(公有的)、protected、private、final、static。

Public、protected、private、默认修饰符:权限修饰符,用来限定类的属性和方法的访问权限。注意

权限对应
修饰符类本身同一个包的类不同包的子类任何类
private
默认修饰符
protected
public

private:私有权限,只能在类本身访问。

默认:可在类本身、和同包下的类中访问。

protected:受保护权限、除了在类本身和同包下的类中访问还可以在子类中访问。

public:公有权限、可以在任何类中访问

封装的使用
//一个类属性私有化行为公开化,还要添加构造方法
/*构造方法的作用:

 * 是创建对象的时候初始化成员变量使用的
 * 注意:
 * 当你生成了有参构造,就一定要生成无参构造
 * 但你生成了无参构造,不一定需要生成有参构造**/
package sample.lianxi.fangfa1;

public class Fengzhuang {
    private String name;
    private int age;
    //private-访问修饰符只能在本类访问

    //生成无参构造方法

    public Fengzhuang() {//没有参数初始化变量向0看齐
        super();
    }
    //生成有参构造方法
    public Fengzhuang(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //为每个属性提供一对getxxx()方法-取值和setxxx()方法-赋值*/

    public String getName() {
        return name;//用于设置name的属性
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    //定义行为
    public void tell(){
       System.out.println("姓名:"+name+"\t年龄:"+age);
    }
}
//在其他类调用name和age属性
class TestDemo{
    public static void main(String[] args) {
        //实例化对象
        Fengzhuang fz=new Fengzhuang();
        //调用方法
        fz.tell();
        //调用name和age属性
        fz.setName("大聪明");
        fz.setAge(23);
        //调用方法
        fz.tell();

    }
}

get-xxx和set-xxx

get:代表取用:既然是取值就要有返回值,返回值类型与属性类型需一致

set:代表储存:既然是存值,就需要在参数列表中接收想要存入的值,类型与属性类型相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿鹿熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值