Java学习

None

写的都是自己的理解,野路子,自学,如果有错误直接指出就好(躺。

契机

在之前的这么多年里我一直对Java抱有一种敬而远之的态度,这不仅是因为Java缓慢的运行效率与庞大的体积,Java那种OO的思想也是我不想去接触它的原因之一。
OI学的基本都是面向过程,忽然换到面向对象的感觉真是——很难受。
但也没办法,大学要学Java,只好看着学学了。
不定期写,说不定何时弃坑。

面向对象与面向过程

面向过程这种东西怎么说呢,就香识流程图一样,一步一步的往下做,以Function为单位,把整个程序按照运行过程写出来。
这么说来的话OI基本都是面向过程,毕竟无论是ACM还是NOI,题目都只要求你的程序有单一的功能——计算。
就很难受….啊跑题了。

面向过程据说是一种更加优秀的程序设计方法,稍微了解之后我却感觉它与面向过程各有利弊。
OO的基本思想是将程序分为数个结构,并且将这些结构拼接起来,形成一个完整的程序。换句话来说,面向对象的最小程序单元是Class而非Method。

成员变量(状态数据) + 方法(行为) = 类定义

这样来看的话,面向过程适合快速编写一些小型的,无复用性的程序或模块,而面向对象则适合开发大型应用或者拥有极高复用性的模块..吧?

面向对象的基本特征

面向对象的Method具有三个基本特征: 封装(Encapsulation),继承(Inheritance)和多态(Polymorphism),这个之前学C++的时候了解了一些,大概还是能懂的。

面向对象的功能:

  • 对象是是面向对象方法中最基本的概念,它具有唯一性,分类性,多态性和封装性,模块独立性好。