面向对象程序三大特性一:封装(超详细)

Java对象与封装详解 带你了解Java的对象与封装 阅读详情

目录

目录

封装

1.1访问限定符

1.2封装介绍

1.3封装的实现步骤 (三步)

总结



封装

1.1访问限定符

Java 中主要通过类和访问权限来实现封装:  类可以将数据以及封装数据的方法结合在一起,,而访问权限用来控制方法或者字段能否直接在类外使用。 
再 介绍封装之前我们必须对 访问限定符有所了解。
Java 中提供了四种访问限定符:
范围privatedefaultprotectdpublic
1同一包中的同一类yesyesyesyes
2同一包中不的同类yesyesyes
3不同包中的子类yesyes
4不同包中的非子类yes

ps:default权限指:什么都不写时的默认权限 .

(yes表示在该范围内可以被访问)
我们就通过访问限定符来限制类中的成员不被外界所访问。

1.2封装介绍

封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作|方法],才能对数据进行操作。

从语法上来说,就是被private修饰的属性和方法只能在当前的类中使用。

1.3封装的实现步骤 (三步)

(1)将属性进行私有化private 。(为了不能直接修改属性)

(2)提供一个公共的(public)set方法。

(3)提供个公共的(public)get方法。

 使用案例:

题目:

人的姓名可以查看,但不能随便查看人的年龄 , 工资等隐私,并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认 年龄, 必须在 1-120, 年龄, 工资不能直接查看 , name 的长度在 2-6 字符 之间。
请写一个封装的人的类。
class Person {
public String name;//名字公开
private int age;//年龄私有化
private double salary;//工资私有化

//空构造器
public Person() {

}
//有三个属性的构造器
public Person(String name, int age, double salary) {
setName(name);
setAge(age);
setSalary(salary);
}

//然后根据要求来完善我们的代码.
 public String getName() {
 return name;
}

public void setName(String name) {
//加入对数据的校验,相当于增加了业务逻辑
if(name.length() >= 2 && name.length() <=6 ) {
this.name = name;
}else {
System.out.println("名字的长度不对,需要(2-6)个字符,默认名字");
this.name = "无名人";
}
}

public int getAge() {
return age;
}

public void setAge(int age) {
//判断
if(age >= 1 && age <= 120) {//如果是合理范围
this.age = age;
} else {
System.out.println("你设置年龄不对,需要在 (1-120), 给默认年龄 18 ");
this.age = 18;//给一个默认年龄
}
}

public double getSalary() {
//可以这里增加对当前对象的权限判断
return salary;
}

public void setSalary(double salary) {
this.salary = salary;
}

//写一个方法,返回属性信息
public String info() {
return "信息为 name=" + name + " age=" + age + " 薪水=" + salary;
}
}
自己写 setXxx 和 getXxx 太慢.
(1)我们使用快捷键(alt+insert)
(2)通过鼠标
1

2 

3 

 但业务需自己添加。

总结

 

以上为我个人的小分享,如有问题,欢迎讨论!!! 
都看到这了,不如关注一下,给个免费的赞

【Java笔记】第8章:面向对象的三大特性(封装、继承、多态) 各位小伙伴大家好!上期小编给大家讲解了Java中的面向对象,接下来讲讲Java中面向对象的三大特性!Java中面向对象的三大特性是封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。这些特性是Java编程语言中实现面向对象编程(OOP)的核心概念。封装(Encapsulation)封装是指将数据(属性)和操作数据的方法(行为)封装在一起,形成一个不可分割的整体。在Java中,封装通过访问修饰符(如publicprivateprotected和。 阅读详情

相关推荐

C# 面向对象的三大特性

目录 一、封装 二、继承 三、多态 C# 面向对象的三大特性分别是封装、继承、多态,下面将帮助您更深一步了解并运用这三大特性。 一、封装 封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。 抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。 C# 封装根据...

Carey 6408

封装的实现

封装的实现JAVA

qq_52031408的博客 3383

C++学习——面向对象三大特性:封装、继承、多态

今天来更新面向更新的三大特性,分别是封装、继承、多态,是C++面试中常考也是非常重要的面试题之一,如果最近有春招的宝可以关注我噢,我会定时分享C++相关常考的知识与面试题哒!

mingyuexin235的博客 1934

封装和继承

封装和继承 ## 一、封装 1.概念 ​封装就是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。是把尽可能多的东西藏起来,对外提供便捷的接口。 2.实现封装主要可以分为三个步骤: ①修改属性的可见性,将属性权限设为private。 ②创建共有的getter/setter方法,用于属性的读写。在eclipse中通过Alt+shift+s ——>Generate Getters and Setters——>全选,来快捷地创建get和set方法

weixin_57328493的博客 414

面向对象三大特性:封装、继承、多态深度解析

OOP。

KBkongbaiKB的博客 1577

python面向对象三大特性:封装,继承,多态

面向编程三大特性:封装(隐藏),继承,多态。 一. 封装 通过私有属性,私有方法的方式实现封装。 二. 继承 python支持多重继承,一个之类可以继承多个父类。 class 子类类名(父类1,父类2,…): 类体 父类名.__init__(self,参数列表) 1.成员继承:子类继承了父类除构造方法之外的所有成员。 2.方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类中的方法,也称为重写。 通过类的方法**dir()**查看对象属性 重写__str__方法: 用于返回一个对于“

rosefun96的博客 1657

JavaSE第07篇:面向对象之封装

面向对象是一种编程思想,是目前最主流、最有效地处理复杂业务逻辑的手段,而Java就是一门纯粹的面向对象编程语言。在Java中面向对象相关的概念有很多,比如:封装、继承、多态等。本篇我们将会开始面向对象编程的部分知识,其中主要有了解面向对象的概念、如何创建类和对象、理解封装、能写出一个标准类。 第一章:认识面向对象 1.1-面向对象概述(了解) 什么是面向对象? 面向对象是一种程序设计思想。 程序设计的目的是为了用编程解决现实问题,而面向对象编程的关键在于强调对象,用什么对象来完成什么功能。 在面向对象程

【01编程】的博客 290

中移物联ML307C模组OPENCPU开发环境搭建全攻略

本文详细介绍了中移物联ML307C模组OPENCPU开发环境搭建的全过程。从OPENCPU模式的核心优势解析,到SDK获取、Python与scons工具安装,再到解读SDK目录结构与实战编译命令,最后提供常见问题避坑指南,帮助开发者快速构建高效的物联网应用编译环境。

weixin_29168393的博客 745

java实现封装的三步是_JAVA基础-封装

封装的概念 通常情况下可以在测试类给成员变量赋值一些合法但不合理的数值(比如年龄是500). 无论是编译阶段还是运行阶段都不会报错或者给出提示, 此时与现实生活不符 为了避免上述错误的发生, 就需要对成员变量进行密封包装处理,来隐藏成员变量的细节以及保证成员变量数值的合理性, 该机制就叫做封装封装的实现流程 私有化成员变量, 使用private关键字修饰 提供公有get和set方法, 并在方法...

weixin_31642733的博客 2902

别再手动写ZPL了!用C#和斑马官方SDK搞定ZT410 RFID打印机(附中文乱码解决方案)

本文详细介绍了如何使用C#和斑马官方SDK驱动ZT410 RFID打印机,解决中文乱码和RFID数据写入等常见问题。通过实战指南,开发者可以快速掌握从基础连接到高级调试的全流程,提升打印效率和可靠性。特别适用于物流、零售和资产管理领域的应用。

weixin_29267307的博客 225

CISSP/CCSP证书到手后别松懈!保姆级维持攻略:CPE积分怎么攒?年费怎么交?

本文为CISSP/CCSP持证者提供详细的维持认证攻略,重点介绍如何高效积累CPE积分和避免年费缴纳中的常见问题。通过免费与付费资源结合的策略,帮助持证者轻松完成年度认证要求,同时利用认证创造职业价值。

weixin_30859423的博客 417

面向对象程序三大特性

面向对象程序三大特性:封装、继承、多态

2301_80641575的博客 2087

Prometheus+Grafana+alertmanager+PrometheusAlert监控告警 实现飞书告警

以上 是以grafana做的邮件告警,但是感觉邮件很少人看。下面是以webhook 可以接入。启动alertmanager (设置 开机在启动)下载prometheusalter 配置文件。这里的告警是基于grafana上搭建的。我们启动PrometheusAlert。写完之后进行重启Prometheus。prometheus 的告警规则。测试 基于我们生产环境做的文档。然后在grafana上导模板。上导入模板就可以 直接引用。访问 grafana页面。重启一下grafana。

墨痕诉清风的博客 859

面向对象三大特性:封装、继承、多态

封装是基础,保障数据安全与模块独立;继承实现代码复用与层次化设计;多态通过动态绑定提升代码灵活性。三者协同作用,使得Java程序既高效又易于扩展。例如,一个游戏角色系统通过封装保护属性、继承复用代码、多态实现多样攻击行为,充分体现了三大特性的价值。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章深入理解Java三大特性:封装、继承和多态面向对象三大特性:封装、继承、多态(最全面最详细的解释)

ning的博客 2004

YOLO26 正式发布源代码!极致速度优化方案, 面向工业级落地的目标检测模型!

YOLO26 作为 Ultralytics 公司于 2025 年 9 月发布的最新一代目标检测模型,在架构设计和技术实现上展现了显著的创新。本文深入分析了 YOLO26 的核心架构改进和技术原理,重点探讨了其在边界框回归、推理流程、损失函数设计和优化算法方面的突破性进展。

魔改工程师的博客 1244

基于BenchmarkSQL的达梦数据库TPCC性能测试

中的用户和密码在达梦数据库中创建测试用户,并保证其表空间足够容纳生成的测试数据。如果开启了归档,还要考虑归档日志占用的空间。BenchmarkSQL默认不支持达梦数据库。这里我们让BenchmarkSQL把达梦数据库当作Oracle即可。Oracle数据库对应的测试配置文件为。是使用BenchmarkSQL进行性能测试的主要配置文件。是生成的测试报告,png文件是报告中包含的图片。拷贝达梦数据库驱动到BenchmarkSQL的。测试结束后,会在当前路径下生成一个以。规则命名的结果目录。

Sebastien23的博客 2635

【超详细】C#基础-面向对象三大特性:封装、继承

今天来详细学习一下C#面向对象的三大特性:封装、继承。封装(Encapsulation) 是面向对象编程(OOP)的一个基本特性,它指的是将对象的状态(字段)和行为(方法)捆绑在一起,并通过控制访问权限来保护对象的内部状态。继承(Inheritance) 是面向对象编程(OOP)中的一个重要特性,它允许一个类从另一个类派生(继承)出新的类,从而实现代码的复用和扩展。

grapefruit_lyy的博客 1572

【Unity实战篇 】| Unity实现 文本框可以自适应大小,到达最大宽度之后再缩小字体

Unity实现 Text文本框可以自适应大小,到达最大宽度之后再缩小字体 需求:在文本框可以自适应大小拉伸的前提下,增加一个最大限制宽度,使其到达最大宽度后 再启用 Best Fit 实现自适应改变文字大小以适应文本框的大小。 在Unity中经常会用到文本组件的自适应大小功能,一般使用HorizontalLayoutGroup和ContentSizeFitter组件配合即可实现文本自适应的效果。

努力前行,总会成为自己心中的那道光 3万+

Java面向对象程序三大特性:封装、继承、多态

通过合理地运用这三大特性,开发者能够将复杂的问题分解为更小的、易于管理的单位,大大提升了软件开发的效率和质量。封装是面向对象程序设计的基础,指的是将对象的状态和行为封装在一起,并对外提供访问接口。在该示例中,Manager类继承自Employee类,拥有Employee类的所有属性和方法,并能够重写work()方法来实现自己的行为。简化接口:通过封装,用户只需关注对象提供的接口,而不必关心其具体实现,降低了程序的复杂性。3.多态性:通过继承支持多态特性,使得同一接口可以有不同的实现,增强了系统的灵活性。

XHgga_的博客 1197

12、每日卫星任务规划问题的不同公式

本文探讨了卫星任务规划问题的多种数学公式表示方法,包括传统的整数线性规划(ILP)模型、改进的基于路径的公式、基于集合覆盖的公式以及动态规划公式。通过案例研究比较了不同公式的求解效率和适用场景,并提供了使用Python进行实际求解的操作步骤。最后讨论了进一步优化策略及未来研究方向,旨在为解决卫星任务规划问题提供全面的理论支持和实践指导。

assembly8low的博客 204

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java面向对象三大特性之一——封装

自定义包方法:我们通过src new一个包然后输入名字就可以使用,包也是一个文件夹,也可以在文件夹中新建一个文件夹也是一个包。导入包之后我们在包里面写项目内容就会自动导入该包。

gug12345sheh的博客 953

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

面向对象的三大特性: 继承,封装,多态

封装即隐藏对象的属性和实现细节,仅对外提供公共访问方式,保证了模块具有较好的独立性,使得程序维护修改较为容易。继承提高了代码的复用性,多态提高代码的扩展性和可维护性。三者共同达到了一个目的:使得对应用程序的修改带来的影响更加局部化,程序更加健壮,而且易维护、更新和升级。

Yietong的博客 2655

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C++每日一问:什么是面向对象?面向对象的三大特性

一、什么是面向过程? 面向过程是一种以过程为中心的编程思想,其原理就是将问题分解成一个一个详细的步骤,然后通过函数实现每一个步骤,并依次调用。面向过程我们所关心的是解决一个问题的步骤,举个例子,汽车发动、汽车熄火,这是两个不同的事件,对于面向过程而言,我们关心的是事件本身,因此我们会使用两个函数完成以上两个动作,然后依次调用即可。 二、什么是面向对象? 面向对象则是一种以对象为中心的编程思想,就是通......

欧特GO 6178

面向对象的三大特性

面向对象的三大特性:封装,继承,多态封装将对象的属性和方法封装在一个对象,形成一个独立的实体继承子类继承父类的属性和方法多态不同类的对象对通一消息做出不同的反映。(当一个父类引用指向一个子类对象,调用的方式回事子类的方法,这就多态性的体现)

zhangguojia7的博客 1736
上一篇: 弯道超车必做好题集锦一(C语言选择题)
下一篇: 面向对象程序三大特性一:继承(超详细)
WH牛
博客等级 码龄4年 613粉丝 107原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值