对象
软件中的“对象”由状态和行为组成。并且这些“对象”通常可以和现实世界中的对象对应上。如:人,动物。
类
类是一个对象的创建样板。对象的生成都是参照类来生成。或者说类是读对象的描素。这个有点类似xml schema和xml文件的关系。类是对现实世界认知的抽象。人类在认识世界过程,都在尝试对周围的事物做分类。如:车,动物,狗。
继承
是类和类之前关系的一种。描述的是“is a”的关系。例如:人,动物。按照生物学来说,人是动物的一种。父类描述的是一个相对“泛”的概念。抽象的程度更高,涵盖范围更广,例如:动物包括人和狗等等。子类描述的是相对“具体”的概念,例如:人。
接口
接口是个类承诺对外可以提供的行为。例如:飞机和鸟都可以提供“飞”这个行为。但是它们从概念上没有直接关联。
包
java里包定义了一个名空间。同一个名空间里不能有同名的类。
ps:现实的软件编程过程中,类的抽象并不简单能能通过眼睛就能直接看到。需要就问题域不断的提炼,抽象,才能提炼出稳定的抽象类。并且这个过程可能伴随着软件需求的不断变化,类要重新提炼。这个时候就需要对软件进行重构。你可能会问,这种抽象过程有没有什么现成的经验可以使用?当然有了,设计模式就是这种抽象的经验总结。并且抽象层次非常高。所以学习起来比较困难,往往看了几遍也知道如何使用。我的经验是先学习常用的简单模式,如单例模式,策略模式等。先搞清楚模式是干嘛的然后再学习其它的高级模式如mvc。