java的封装性的优点_18、Java的三大特性之封装
Java的三大特性
java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要。
封装
我们为什么要使用封装?
我们使用封装是因为程序的安全性,让用户知道的才暴露出来,不需要让用户知道的全部隐藏起来,这就是封装,封装就是把对象的属性和操作(方法)结合为一个独立的个体,并尽可能的隐藏对象的的内部实现的细节。
我们使用封装的目的是什么?
我们程序的设计要求是”高内聚,低耦合“,高内聚就是类的内部数据操作(方法)细节自己完成,不允许外部干涉,低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。
封装有什么优点?
1、 提高代码的安全性。
2、提高代码的复用性。
3、“高内聚”:封装细节,便于修改内部代码,提高可维护性
4、“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。
封装的实现
Java是使用“访问控制符”来控制啸此细节需要封装的,啸些细节需要暴露的,Java中有4种访问控制符“,分别为private,default,protected,public,它们说明了面向对象的封装性,所以我们编写代码的时候,尽可以让访问权限降到最低,从而提高安全性。
下面是这4个访问控制符的权限:
private 表示私有,只有自己的类能访问。
default表示没有修饰符修饰,只有同一个包的类能访问。(默认访问控制符)
protected表示可以被同一个包的类以及其它包中的子类访问。
public 表示可以被该项目的所有包中的所有类访问。
例:
封装的细节
1、一般使用private的访问权限。
2、提供相应的get/set方法来访问相应的属性方法,这些方法通常是用public 来修饰的,以提供对属性的赋值和读取操作。boolean的get主法,一般是用is来开头的。
3、一此只用于本类的辅助性方法,可以用private修饰,希望其它类调用的方法用public修饰。
例:
public class Student {
//私有属性方法
private int id;
private String name;
private int age;
private boolean flag;
//get/set方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//boolean的get方法
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
}
**细节决定成败!**
*个人愚见,如有不对,恳请扶正!*
java的封装性的优点_18、Java的三大特性之封装相关推荐
- 大数据必学Java基础(三十九):面向对象三大特性之一封装(Encapsulation)
文章目录 面向对象三大特性之一封装(Encapsulation) 一.生活案例 二.Java中封装的理解
- Java——OOP三大特性之封装性(Encapsulation)通俗详细
面向对象(Object Oriented Programming)三大特性 1.封装(Encapsulation) 2.继承(Inheritance) 3.多态(Polymorphism) 定义 En ...
- Java继承_Hachi君浅聊Java三大特性之 封装 继承 多态
Hello,大家好~我是你们的Hachi君,一个来自某学院的资深java小白.最近利用暑假的时间,修得满腔java语言学习心得.今天小宇宙终于要爆发了,决定在知乎上来一场根本停不下来的Hachi君个人 ...
- java面向对象:三大特性:封装,继承,多态
-----------------------------------面向对象:三大特性:封装,继承,多态 ----------------------------------- 1.什么是类?什么是 ...
- 面向对象的三大特性:封装、继承、多态
面向对象的三大特性 面向对象的三大特性:封装.继承.多态 封装 封装,成员变量的封装,保证了数据的安全性.封装的好处:过滤了不合理的值.屏蔽内部的赋值过程.让外界不必关注内部的细节 Set方法 1. ...
- 面向对象三大特性: 封装,继承,多态
面向对象的三大特性:封装,继承,多态. 一.封装:目的:如何做类,让类更安全. 让一些成员变量不能被外界直接被访问. 方法: 1.将成员变量变为private. 2.在类里面做一个成员方法来间接访问. ...
- Day33 继承的三大特性之 封装与多态
Day33 面向对象的三大特性之 封装与多态 文章目录 Day33 面向对象的三大特性之 封装与多态 1.派生方法的实操 2.面向对象三大特性之封装 3.property 伪装属性 4.面向对象三大特 ...
- java的三大特性,封装,继承,多态
封装 Java代码 /** * 所谓封装,就是将对象具有的成员变量和成员函数包装和隐藏起来,让外界无法直接使用, * 被封装的成员只能通过某些特定的方式才能访问. * 实现封装有两个步骤: * ...
- Java三大特性:封装,继承与多态
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_25827845/article/details/84592274冷血之心的博客) 目录 (一)封装 封装的定义 封装 ...
最新文章
- FreeBSD设备驱动管理介绍(BSP: Ti AM335x)
- dlib dll load failed 找不到指定的模块
- java hbase 批量查询数据_HBase根据Rowkey批量查询数据JAVA API(一次查多条,返回多个记录)...
- 什么是 Visual VM?
- 数据结构与算法--查找与排序另类用法-旋转数组中的最小数字
- 剑指offer面试题:替换空格
- leetcode72 编辑距离
- idea 编译Java heap space 内存溢出
- sql如何取前几行_10 个不为人知的 SQL 技巧
- MyBatis_Generator的使用(实践)
- 3.7 钱包、帐户、token、智能合约、action、权限、权重和阀值之间关系
- C++ QT中国象棋项目讲解(三) 单机双人对战走棋
- 怎么给新版edge换皮肤外观? | 怎么给edge添加chrome插件?
- CentOS Linux操作系统
- 实现类CAD的交互式命令系统
- 2018年要过去了,年初说好要上完的网课呢?
- 酷睿i7 1165g7相当于什么水平 i71165g7属于哪个档次
- ​携程网全国各城市酒店数据​评论数据
- 基于javaweb的宠物店管理系统(java+jsp+javascript+bootstrap+mysql)
- android 斜边_android自定义控件之中间是斜线的占比条
热门文章
- javafx 和swing_集成JavaFX和Swing
- 让我们用jOOλ在Java 8中流式传输地图
- 无状态Spring安全性第2部分:无状态身份验证
- 通过快速Java和文件序列化加快速度
- 我如何向团队解释依赖注入
- 异常处理准则和最佳实践
- 使用Apache ActiveMQ的JMS开发基础
- Java中的高性能库
- 当集合a为空集时a的取值范围_高中数学必修一第一章集合分节练习和章末测试题含答案[1] 2...
- dism++封装系统使用教程_客栈管理系统“订单来了”客房订单盒子使用教程