没有合适的资源?快使用搜索试试~ 我知道了~
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。 对于文章中出现的任何错误请大家批评指出,一定及时修改。 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。 发布文章的风格因专栏而异,均自成体系,不足之处请大
资源详情
资源评论
资源推荐
Java面向对象编程三大特征面向对象编程三大特征 – 封装封装
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈
工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书
馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
对于文章中出现的任何错误请大家批评指出,一定及时修改。
有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
Java面向对象编程三大特征面向对象编程三大特征 – 封装封装
本文关键字:本文关键字:Java、面向对象、三大特征、封装、面向对象、三大特征、封装
文章目录文章目录Java面向对象编程三大特征 – 封装一、名词解读1. 权限修饰符2. 权限对应关系表3. 属性访问二、概念阐释1. 封装有什么用2. 如何进行封装3. 常规封装方法
封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念。当我们想要去描述一系列的关系时我们要用到的最基本结
构就是类,其中存在着成员变量和方法,用于记录属性和表达行为,相关知识请进传送门:Java中的基本操作单元 – 类和对象。
一、名词解读一、名词解读
为了解释封装的概念和作用,需要先来了解一下几个相关的概念,这有助于我们接下来的理解。
1. 权限修饰符权限修饰符
当我们在一个类中定义成员变量时,会指定一个变量的类型,除此之外,还会有修饰符的部分,在此给出定义成员变量的规范格式:
// 定义变量
[修饰符] 变量类型 变量名称;
[修饰符] 变量类型 变量名称 = 初始值;
修饰符起到的作用从字面就可以解释,起到一个修饰和限定的作用,可以使用在成员变量之前的修饰符可以是:public、protected、private、final、static。
修饰符与修饰符之间的顺序没有强制要求,其中public、protected、private被称为权限修饰符,可以用来限定类的属性和方法的访问权限,指明在哪些包的哪些类中能够调用到这些
属性或方法,是一种一定会存在的修饰符。需要注意的是,这三个单词不能同时出现,当这三个单词都不出现的时候会被认为是默认访问权限,所以权限修饰符一共有四种:
private、默认、protected、public。
2. 权限对应关系表权限对应关系表
private:私有权限,只能在定义的类中访问,在其他类中创建的实例均无法访问
默认:同包可访问权限,在没有声明权限修饰符时为默认权限,允许在同包的其他类访问
protected:受保护权限,允许有继承关系的子类访问
public:公共权限,允许任何类访问
3. 属性访问属性访问
由于权限修饰符在封装特性中的作用只是实现封装性的一种途径,所以在这里只演示private与public的作用,权限修饰符的其他作用将在后续的文章中继续介绍。
src
└──edu
└──sandtower
└──bean
│ Person.java
└──test
│ Test.java
以上为实体类与测试类所在的目录结构,Person实体类所在包:edu.sandtower.bean,Test测试类所在包:edu.sandtower.test,相应代码如下:
package edu.sandtower.bean;
public class Person{
// 声明公开属性
public String name;
// 声明私有属性
private double money;
}
package edu.sandtower.test;
import edu.sandtower.bean.Person;
public class Test{
public static void main(String[] args){
// 在test包中的Test类中创建Person实例
Person person = new Person();
person.name = "小张";// 编译通过,可以访问name属性
person.money = 500.0;// 编译失败,无法访问money属性
}
}
从上面的例子可以看出,虽然依然是使用Person自己的实例在进行属性的调用,但是我们是在另外一个包中的类发生的调用,所以是不能够访问到private修饰的属性的,在刚开始学
习时一定要注意区分。
weixin_38570202
- 粉丝: 9
- 资源: 952
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0