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

13.java面向对象:封装

java面向对象:封装

我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
封装(数据的隐藏)通常应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。

本节重点:private属性私有的使用,get方法,set方法

在IDEA中使用快捷键:alt+insert,可以快速创建get方法,set方法。

源代码:

public class Student {//private属性私有private String name;private int age;private String sex;//get方法,获取这个属性的数据public String getName() {return name;}public int getAge() {return age;}public String getSex() {return sex;}//set方法,给这个数据设置值public void setName(String name) {this.name = name;}//这里有个bug,如果年龄输入999岁也是可以输出的,所以我们这里必须控制年龄的范围public void setAge(int age) {if (age > 120 || age < 0) {System.out.println("输入年龄超过范围,请重写输入");} else {this.age = age;}}//从某种意义上说,封装可以规范属性的合法化。public void setSex(String sex) {this.sex = sex;}
}

测试类

package com.pokes003;public class Demo {public static void main(String[] args) {//实例化对象s1Student s1 = new Student();//使用set方法给属性赋值s1.setName("刘德华");s1.setAge(99);s1.setSex("男");//使用get方法获取数据,并和字符串拼接.System.out.println(s1.getName() + "," + s1.getAge() + "岁" + ",性别:" + s1.getSex()); //刘德华,99岁,性别:男}
}
http://www.lryc.cn/news/465010.html

相关文章:

  • 记录:网鼎杯2024赛前热身CRYPT01密码学
  • GitHub加速
  • 每天学习一个Linux命令:xrandr
  • 路由表来源(基于华为模拟器eNSP)
  • 并查集(Union-Find)
  • Linux上的AI框架都有哪些?哪些AI框架适合驱动EACO地球链自动发展完善?
  • java的第一个游戏界面
  • 【AIGC】ChatGPT提示词Prompt高效编写模式:Self-ask Prompt、ReACT与Reflexion
  • android studio无法下载依赖包问题
  • SQL入门
  • Java中的Math类
  • 大厂常问iOS面试题–Runloop篇
  • 【解决】mac报错“zsh: command not found: nvm”
  • MySQL同步到ES的方案选型
  • Transformer 与 CNN的对比
  • Maven入门到进阶:构建、依赖与插件管理详解
  • 炒股VS炒游戏装备,哪个更好做
  • AI图像处理工具:开发者高阶用法与最佳实践
  • Spring Boot 2.6=>2.7 升级整理
  • Race Track Generator Ultimate:Race Track Generator(赛车场赛道看台场景创建工具)
  • 数据结构7——二叉树的顺序结构以及堆的实现
  • leetcode hot100 之【LeetCode 21. 合并两个有序链表】 java实现
  • Android Camera系列(五):Camera2
  • 从DexMV、VideoDex、MimicPlay到SeeDo:从人类视频中学习:机器人的主流训练方法之一
  • 如何在Docker中运行Squid
  • Ubuntu22.04 加入AD域
  • Docker 构建 Miniconda3 Python 运行环境实战指南
  • 029 elasticsearch文档管理(ElasticsearchRepository、ElasticsearchRestTemplate)
  • 【Flutter】Dart:Isolate
  • ​微信小程序 页面间传递数据