Java面向对象发展过程和内存分析图和垃圾回收和this super继承和组合

 

 

0 面向对象 

以面向对象方式来:

组织代码 (以类方式)

封装数据 (以对象方式)

 

1 发展过程:

 

以方法为核心来组织 :C语言,贝尔实验室发明的

 

弊端: 

方法太多, 在来别人时,很难上手,难以维护

不敢改,需要把你所有方法流程 和调用流程熟悉。

 

这样这个软件做不大,这就是软件危机的由来

 

 

后来贝尔实验室的人发现C语言中有 结构体这个特性,通过结构体组织起来,

表示车的放在一起  表示导航仪的放在一起

 

 

第一是发散,把同样思路用在别的地方

第二是纵深,继续往深里想。

 

使用纵深下,C语言中相同的方法和属性都在一起,发明了class这个名词 

于是C++诞生了,在C语言基础上的增强版(带类的C)

 

Java的出现,

让分工更好了,别人来做的时候,只做变速箱的类的功能别的类的功能不要这人来管,

这样开发和维护成本简单多了,也是最优的。

 

最终达到了 物以类聚的哲学

 



 



 

 

面向对象思维来看世界

 

 

面向过程,在大量协作下,即使每个人都理解

你的意图的90% 那么最终坐下来的结果必然是失败。



 



 

 用面向过程思维来处理协作的事,处理不了。

而且越复杂越多管理起来越难,抗战三年老毛一直在延安

指挥协调对象协作,老蒋不停坐飞机飞来飞去忙的要死(控制细节)


 

 Java内存分析图:



 
Java和C++的垃圾回收特色 :




 
 this 的使用 : 

 

 

 super的使用 :



 

 this super是隐式对象,不需要显式声明,但是在每个类的方法中,JVM已经帮你默认带上了。

有就用组合  比如 鸟有爪子 是组合  鸟是动物 是继承



 



 

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2396382