本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
在Java中,最明显的特征就是面向对象,讲到对象就不得不讲到关系,跟人类社会的人际关系一样复杂。
我们先讲讲其中的两个概念,组合与聚合。以下默认均是两个对象之间的关系,以小喻大。
组合:是has-a的关系,<Thinking in Java>如是定义,即一个对象中有另一个
聚合:是contain-a的关系,如下是一个对象包含另一个的意思
不同点:从字面上可以看出,前者讲述的概念属于强关系,不可分割,如人-心脏的关系,一个不存在另外一个也无意义,则被回收;后者讲述的概念属于弱关系,可分割,如电脑-音箱,一个不存在另外一个可以单独存在。
接下来再讲两个概念,重载与覆盖,其实英文要更好记一些,overload与override,从字面上也可以看出些不同,那这两个概念的出现,也就是因为意义不同而存在。
不同点:前者指将某方法名复制、添加方法,此时不论修改变量类型、变量数目、变量顺序,但改变返回值不算,在软件需要新功能时比较常见;后者指完全定义一个新的方法,至于为什么要这样做?处理不同的逻辑!如飞机启动和跑车启动是不一样的。
继承:获得父类的行为和功能,同时可以声明自己的行为。
接口:最初的行为定义,具体实现看情况。如生物下无论树、熊猫、鹰。
PS:单根继承,垃圾回收要容易的多,因为没有组合关系,各种实现类比较单一,不用即回收。
容器与泛型:用来放置多种相同类型的数据
堆:用来存放数据实体
栈:用来放临时数据,如数据引用
异常处理:程序允许正常的异常出现,就像人也会脑力耗尽一样,我们在使用有限的资源创造最大的价值。
并发:同一时刻执行多个任务,此时注意资源加锁。如多个球员踢足球一样,他们都在打配合踢球,但只有一个资源-球,不能平白拿出一个新球来射门。
Java/Internet:通过Internet,Java被应用,网上冲浪,处理模式:客户请求-逻辑处理-服务器接收-逻辑处理-响应请求,其中前者一般做成中间件,虚拟多个客户端来处理,现在最流行的是多个服务器处理请求,即云计算。