Java基础篇--封装(2018.8.22)

本文介绍了Java中封装的概念及其实现方式,包括如何利用访问控制符隐藏类的实现细节并提供安全的数据访问方法。同时,详细解释了单例模式的设计原理及其实现方法。

面向对象的封装是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,通过该类提供的方法来实现对隐藏信息的操作和访问。封装的重点在于隐藏信息和提供访问的接口,这是程序设计的基本思想,便于程序功能的扩展和维护。

封装的目的:1.隐藏类的实现细节。2.让使用者只能通过指定的方法访问数据,可以方便进行逻辑控制,限制不合理的操作。3.在代码层面上可以便于修改,增加代码可维护性。

Java语言通过访问控制符来实现类的封装,访问控制符限定了被修饰者的可见性;Java中有四种访问控制符:1.default(默认)。2.public(公共)。3.protected(保护)。4.private(私有)。类的访问控制一般有两种:1.默认,即修饰符为空,该类只能被自身所在包中的类访问。2.public,该类能被所有包中的类使用。而类的属性和方法的访问控制符包含以上四种,访问权限由大到小依次为:1.public,可以被所有的类访问。2.protected,可以被这个类本身访问,可以被这个类的子类访问(包括同一个包和不同包的子类),可以被同一个包中所有其他类访问。3.default,可以被这个类本身访问,可以被同一个包中的类访问。4.private,只能被这个类本身访问。
java中的访问控制符
在实际项目开发中,封装的常用之处是用来构造POJO,即最简单的Java Bean,Java Bean中包含了private 修饰的各种属性及其Get/Set方法。

封装的设计思想:提供对外的访问接口,隐藏内部的实现方式。
封装的基本原则:1.类常常是public。2.属性常常是private。3.构造方法一般是public。4.Get/Set方法一般是public。5.其他方法根据业务需要来确定是私有还是公共的。

对封装的一个高级应用就是私有化构造方法,即将构造类的对象的方法进行封装,提供给外部唯一的访问接口,使得整个对象在程序中保持唯一性。这是单例模式的设计原理。对象在实例化时会调用类的构造方法,如果将构造方法私有化(即进行隐藏),则外部无法实例化对象,若我们在该类的内部实例化对象,并提供一个方法将该实例返回出去,则其他类也可以获取到这个对象,并且保证了这个对象在程序中的唯一性。

要保证对象的唯一性需要做到:
1.避免其他类多次创建该对象,禁止其他类创建该对象,即将构造方法私有化。
2.为了让其他类可以访问到该对象,则在该类中实例化一个对象。
3.对外提供一个访问该对象的唯一入口。
最基础的饿汉式单例模式代码实现如下:
Public class SingleTon(){
Private static SingleTon single=new SingleTon();//创建一个实例对象
Private SingleTon(){//构造方法私有化
}
Public static SingleTon getInstance(){//给外部提供唯一的访问入口
Return single;
}
}
单例模式的核心是构造方法的私有化(即在入口处限制了对象的实例化),之后在类的内部实例化对象,并通过静态方法返回实例化对象的引用。

(1)普通用户端(全平台) 音乐播放核心体验: 个性化首页:基于 “听歌历史 + 收藏偏好” 展示 “推荐歌单(每日 30 首)、新歌速递、相似曲风推荐”,支持按 “场景(通勤 / 学习 / 运动)” 切换推荐维度。 播放页功能:支持 “无损音质切换、倍速播放(0.5x-2.0x)、定时关闭、歌词逐句滚动”,提供 “沉浸式全屏模式”(隐藏冗余控件,突出歌词与专辑封面)。 多端同步:自动同步 “播放进度、收藏列表、歌单” 至所有登录设备(如手机暂停后,电脑端打开可继续播放)。 音乐发现与管理: 智能搜索:支持 “歌曲名 / 歌手 / 歌词片段” 搜索,提供 “模糊匹配(如输入‘晴天’联想‘周杰伦 - 晴天’)、热门搜索词推荐”,结果按 “热度 / 匹配度” 排序。 歌单管理:创建 “公开 / 私有 / 加密” 歌单,支持 “批量添加歌曲、拖拽排序、一键分享到社交平台”,系统自动生成 “歌单封面(基于歌曲风格配色)”。 音乐分类浏览:按 “曲风(流行 / 摇滚 / 古典)、语言(国语 / 英语 / 日语)、年代(80 后经典 / 2023 新歌)” 分层浏览,每个分类页展示 “TOP50 榜单”。 社交互动功能: 动态广场:查看 “关注的用户 / 音乐人发布的动态(如‘分享新歌感受’)、好友正在听的歌曲”,支持 “点赞 / 评论 / 转发”,可直接点击动态中的歌曲播放。 听歌排行:个人页展示 “本周听歌 TOP10、累计听歌时长”,平台定期生成 “全球 / 好友榜”(如 “好友中你本周听歌时长排名第 3”)。 音乐圈:加入 “特定曲风圈子(如‘古典音乐爱好者’)”,参与 “话题讨论(如‘你心中最经典的钢琴曲’)、线上歌单共创”。 (2)音乐人端(创作者中心) 作品管理: 音乐上传:支持 “无损音频(FLAC/WAV)+ 歌词文件(LRC)+ 专辑封面” 上传,填写 “歌曲信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值