java封装基础详解
2024-10-19 07:33:49
java封装基础详解
java的封装性即是信息隐藏,把对象的属性和行为结合成一个相同的独立单体,并尽可能地隐藏对象的内部细节。
封装的特性是对属性来讲的。
封装的目标就是要实现软件部件的"高内聚,低耦合",防止程序相互依赖带来的变动影响。
高内聚(就是类的内部数据操作细节自己完成,不允许外部干涉)。
低耦合(仅暴露少量的方法给外部使用)。
在面向对象的编程语言中,对象是封装的基本单位,面向对象的封装比传统语言的封装更清晰,有力。
注:一般来说,只要是属性,就必须封装,java中通过将属性声明为私有的(private),再通过公共的(public),以及getter和setter方法设置和获取,实现对属性的操作。
那么信息隐藏是指:禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问。
属性私有,get/set
简单的代码示例
首先我们对student这个类应有的属性进行私有,即private
package oop.Demo05; public class Student {
//首先进行属性私有
private String name;
private int id;
private char sex;
//然后提供一些可以操作这个属性的方法
//提供一些private的get,set方法 //首先get获得这个数据
public String getName(){
return this.name;
}
//然后set给这个数据设置值
public void setName(String name){
this.name= name;
}
//alt+insert 快捷键生成get set方法
}然后我们找一个测试类进行调用
package oop1;
import oop.Demo05.Student;
public class Application02 {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("神经病");
System.out.println(s1.getName());
}
}
那么封装的意义:
/*1.封装可以提高程序的安全性
2.隐藏代码的实现细节性
3.可以统一接口
4.系统的可维护性增加
*/
B站视频狂神说java
最新文章
- C和指针 第十五章 输入输出缓冲
- iOS Swift 3 open
- [Java 进阶]Java中的国际化
- hzwer模拟赛 Hzwer的陨石
- 【线段树区间合并】HDU1540-Tunnel Warfare
- js封装包
- [.NET WebAPI系列03] WebAPI Controller 中标准CRUD方法
- 图片轮换cycle插件的运用
- 修改文件所有者 chown
- spring项目log4j使用入门
- DDD理论学习系列(8)-- 应用服务&;领域服务
- flutter 底部按钮切换页面
- git 新建仓库
- springboot练习
- 解决 Android Device Monitor 常见问题
- 对xml进行数据查询时发生NoClassDefFoundError,dom4j和jaxen
- ElasticSearch权威指南学习(索引管理)
- C#异步编程のawait和async关键字来写异步程序
- 通过show variables like ‘general_log%’可以看查询日志
- zabbix的搭建与入门
热门文章
- Mybati-Plus的用法 记录
- [.NET Core知识点回顾]-自动内存管理
- 解放生产力,自动化生成vue组件文档
- C++调用Libreoffice接口
- vue中输入框事件监听 v-on:input
- 【IllegalArgumentException】: object is not an instance of declaring class
- mysql中的条件语句case when/if函数
- Archive for required library:’ WebRoot/WEB-INF/Mytag.tld’in project ‘TagTest’ cannot be read or is not a valid ZIP file
- rz上传文件报错:rpm Read Signature failed: sigh blob(1268): BAD, read returned 0
- 两个字符串,s1 包含 s2,包含多次,返回每一个匹配到的索引---python