面向对象05:封装

本文介绍了Java编程中的封装特性,包括高内聚和低耦合的概念,以及封装对于程序安全性、代码隐藏和系统可维护性的重要性。通过示例展示了如何使用private和public修饰符实现属性的封装,并提供了get、set方法供外部访问和修改。在测试代码中,演示了如何通过封装的get、set方法操作Student类的属性。
摘要由CSDN通过智能技术生成

封装

1.封装的特点:高内聚、低耦合

高内聚:类的内部数据操作自己来完成、不允许干涉。银行内部的钱有内部人员去管

低耦合:尽量暴露少量的方法给外部使用。 围绕着自己的卡借钱

2.封装的意义

1.提高程序的安全性,保护数据

2.隐藏代码的实现细节

3.统一接口

4.提高系统的可维护性


get/set自动生成函数:alt+insert

private跟public相反

问题:属性私有以后,就不能调用

解决方法:提供一些可以操作这个属性的方法,提供一些public 的get、set方法

封装的代码

package com.oop.demo04;
//private:私有
public class Student {
    //
    private String name;//名字
    private int id;//学号
    private char sex;//性别
    private int age;
    //学习()
    //睡觉()
    //提供一些可以操作这个属性的方法
    //提供一些public 的get、set方法
    //get获取这个数据
    public String getName(){
        return this.name;
    }
    //set给这个数据设置值
    public void setName(String name){
        this.name=name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
   }
    public void setAge(int age) {
        if(age>120||age<0){
            this.age = 3;
        }else{
            this.age=age;
        }
    }
}

测试代码

package com.oop.demo04;
public class Application {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("帅哥");
        System.out.println(s1.getName());
        s1.setAge(999);//不合法的
        System.out.println(s1.getAge());
    }
}

知识点整理

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值