当前位置: 首页 > news >正文

java面向对象06:封装

封装

  • 该露的露,该藏的藏
    • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
  • 封装(数据的隐藏)
    • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
  • 属性私有,get/set
package com.oop;import com.oop.demo04.Student;
/*
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统的可维护性增加了*/
//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {Student s1=new Student();s1.setName("哈基米");System.out.println(s1.getName());s1.setAge(-1);System.out.println(s1.getAge());}
}
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;}//alt+insertpublic char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {if(age>120||age<0){this.age=3;}else{this.age = age;}}
}

在这里插入图片描述

相关文章:

  • cmd 终端输出乱码问题 |Visual Studio 控制台输出中文乱码解决
  • Day08【基于预训练模型分词器实现交互型文本匹配】
  • 考研数据结构之树与二叉树的应用:哈夫曼树、哈夫曼编码与并查集
  • JavaWeb开发 Servlet底层 从概念到HTTP请求 到web服务器再到servlet
  • ROS2 常用
  • How to run ERSEM
  • linux上安装vimplus 从零开始
  • 使用Python构建桌面图片浏览器
  • cursor如何回退一键回退多个文件的修改
  • Docker 安装 Elasticsearch 8.x
  • Java二叉树深度解析:结构、算法与应用实践指南
  • 【教程】检查RDMA网卡状态和测试带宽 | 附测试脚本
  • Java公平锁和非公平锁实现原理
  • 图论-BFS搜索图/树-最短路径问题的解决
  • 2025 cs144 Lab Checkpoint 2 小白超详细版
  • python 安装win32com.client库
  • ReportLab 导出 PDF(文档创建)
  • vue里provide作用:将一组全局方法注入到 Vue 应用的所有子组件中
  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——USB测试 #USB HOST #USB 鼠标
  • 京东硬核挑战潜规则,外卖算法要变天?
  • 8个月女婴被指受虐后体重仅6斤?潮州警方:未发现虐待,父母有抚养意愿
  • 考艾的森林与雾气中,艺术在生长
  • 礼来公布口服降糖药积极结果,或年底前提交用于体重管理上市申请
  • 十四届全国人大常委会第十五次会议将于4月27日至30日举行
  • 陈少洋出任中国航天科工集团党组副书记、董事、总经理
  • 中国金茂与建发国际联合收购北京丰台地块,总价18.4亿元