day4-JAVA重要概念&特征

JAVA概念

Classes 类

划分源代码的模块,一般每个文件只有单一一个class。

Objects 对象

划分运行程序的结构,每个对象内部包含它自己的状态与数据。

两者关系

类就像C的struct,对象由类实例化得到,每次创建一个node,就类似C中的动态分配。类是模具,这个模具可以“实例化”产生一个新对象

面向对象的重要特征

  • 抽象 Abstraction:复杂度高,但接口简单
  • 封装 Encapsulation:隐藏复杂结构于“引擎盖”下
  • 继承 Inheritance:“类”有着类似家族遗传树的结构
  • 多态 Polymorphism:相似的类可近似处理

抽象

专注于实现对象的目标、目的,无需关注各部件工作细节。

例如:关注汽车让人从A地到B地,不用知道里面的水冷、引擎等部件如何实现这个工作。

封装

不仅仅是无需知道内部工作,还有些内部工作甚至无法被看到、接触和操作。

例如,汽车的引擎管理系统。

优点:

  1. 鲁棒性。任何人无法有意或无意地干扰一个对象的内部工作。
  2. 可维护性。更容易更新或替换一个对象,而无需改变任何使用了它的代码。(前提:接口一致情况下)
  3. 利于团队分工。

继承

为增加代码复用性的机制。减少重复、代码更简洁。

分解父类中的共性特征,集中存储为“超级类”/“父类”,子类在需要时就向父类继承、分享所需的属性和方法。

父类更通用,子类更具体!

多态

由于同一父类下不同子类共享属性、方法(继承性、重用性),所以可以对父类下所有子类做同样的事情,而无需具体到在对哪一个子类做这个事情。

例如:对“3维”类,都可执行一样的 获取体积、三维旋转的操作,而无需关心它是立方体、三角锥还是其他3D形状。

子类指向父类。(向上转型)

上一篇:day4 redis 客户端启动


下一篇:Java学习--Day4