java面向对象的四大特征是什么:封装 继承 多态 抽象
1.什么是封装?
- ”高内聚,低耦合“是我们对程序的要求。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是:仅暴露少量的方法给外部使用。
- 封装(数据的隐藏):通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这成为信息隐藏
2.封装一般又分为两种 普通封装和java类的封装
# 普通封装
如果要实现一些功能或者存储一些数据,
可以将这些功能和数据集中在一个类中,
在需要的时候创建表出本类的对象,进行调用(使用)
# java类的封装
在普通封装的基础上,在进一步对代码进行限制,提高代码数据的安全性
- 将所有的成员属性私有化 private,禁止外界直接访问
java的四大权限修饰
- public 公共的权限修饰符,当前工程下任意类都能访问
- protected 受保护的权限修饰符,同一个包能访问,如果不同包,只有子类能访问
- 什么都不写 默认的权限,只能在同一个包中访问
- private 私有的权限修饰符,只有本类能访问
- 对所有的属性提供公共的访问方式 进行访问
- 获取属性
getXxx()
- 修改属性
setXxx()
# this关键字
含义:代表当前类对象的引用
作用:
1.调用出当前类所有的属性和方法
2.当形参的名字和成员属性的名字一样时,为了区别等号左右
使用this来代表本类的属性
# java类的封装的作用
1.提高代码数据的安全性
2.已经成为java的开发规范,以后很多框架都要求类进行封装
# 构造方法特性
- 如果什么构造方法都不写,此时会默认隐藏一个空参构造
- 如果写了有参构造,不写空参构造,那么隐藏空参构造就会被覆盖
- 无论是否使用空参,都会顺手写一个空参
# 封装的场景
只要有成员属性的类,都要封装
# static
含义:静态修饰符(共享)
- 修饰成员属性-->静态属性
- 归属于类,使用类名调用
- 被本类所有的对象共享
- 修饰成员方法-->静态方法
- 归属于类,使用类名调用
- 被本类所有的对象所共享
- 静态方法无法访问非静态的数据(静态方法中没有this)
# 匿名对象
- 匿名:没有名字
new Student();
- 有名字
Student stu = new Student();
- 匿名对象的作用
由于没有引用,所以无法复用,如果某个功能只使用一次,就可以考虑使用匿名对象
# 类的设计
- 技能类 Skill
- 英雄类 Hero
- 模拟数据库类
- 存储英雄的数组
- 构造方法(初始化所有的英雄和数组)
- 提供某些方法
- 程序运行流程的类Application
- 写一个静态方法 start() run()
- 主函数的类
- main方法
调用 Applocation.start()
# 支线任务:java的类图怎么画才标准
- 类图中的名称应该是有意义的描述,并且是面向系统的
- 画类图前应该先确定每个元素之间的关系
- 类图中每个类职责(属性和方法)应该清晰标明
- 对于每个类的属性应改精简,不必要的属性将使图表变得复杂