更新时间:2022-06-08 10:55:42 来源:极悦 浏览919次
什么是Java封装?极悦小编来为大家解答。
1.类有成员属性和方法两个部分组成,二者都可以供其它类去调用。方法作为一个功能的实现,被调用时不会产生什么问题,属性却不一样,它是属于类和对象的,容易被“非法篡改”。
例如:定义一个类people,有姓名和财产等属性,默认值是:张三和12000.有show方法,输出姓名和财产。定义一个测试类,修改张三的money为-10000;
2.此案例可以看出类和对象的属性毫无隐蔽性可言,可以被随意修改,这样设计出的程序会有很大的安全性问题。
3.为了解决这个问题,java开发者提出了封装的思想。将类的成员属性的访问修饰符规定为私有(private),这样该属性在其它类就不能调用,更不可能被修改。这相当于闭关锁国政策,所以又面临一个问题:连成员属性的正常赋值也不可能在其它类中实现。因此设计者们再次提出了一个方案:成员属性可以间接地在其它类中被访问,也就是中间要设置一道检查和过滤的关卡,这道关卡就是get和set方法,它们被称为getter和setter.
下面我们对刚才的案例进行改进。
实现封装总结:
(1)属性访问修饰符定义为私有:private
(2)对外提供get和set方法。
在开发大型项目时,会有很多功能模块的具体划分,这是需要建立很多的类,将同一层级的类放在一个包中,可使程序的层级结构清晰,提高辨识度。
类似于在资源管理器中新建一个文件夹,有规律的存放和管理资源文件。
导包:导入自己的包和系统包
java.lang包是java语言的核心,它提供了java中的基础类。(java.lang这个包属于系统包,该包中的类不用导入,例如System,String)
1.类的访问修饰符:
Public:对外公开
默认:所在包有效,包以外不能访问 --体现在构造方法上
2.成员访问修饰符(成员属性和成员方法)
Public:对外公开
Protected:受保护的,同一个包的子类可以访问。
默认:同一个包中可以访问
Private:只在当前类有效
static和this关键字
Static修饰的,属于类范围的,this代表当前对象。
Static修饰成员属性和方法和代码块
如何理解继承,我猜大家首先想到的可能是继承千万家产,走上人生巅峰。梦想是美好的,java里面却不是这样的。
Java中的继承需要从两个方面去理解:
1.在多个子类中抽取出相同的属性和方法,形成父类的属性和方法
例如:大象和狮子 具有相同的属性,名称,体重,战斗力。可以提取这些相同的属性,形成一个父类 动物。
2.对父类成员的继承使用(包含成员属性和成员方法)
抽取出共有的重复的代码,使用继承,提高代码的复用性,
让类与类之间产生关系:extends
继承是两个类之间产生关联关系的唯一的方式
子类构造方法会默认调用父类构造方法。
为多态提供了前提
Java中支持单继承:一个子类只能有一个直接父类
Java中不支持多继承
通过上述介绍,相信大家对Java封装已经有所了解,大家如果想了解更多相关知识,不妨来关注一下极悦的Java基础教程,里面有更丰富的知识等着大家去学习,相信对大家会有所帮助的。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习