Java, just a language
by 梦中浮云
!声明:如果您有意愿转载本文,请在文章醒目位置注明原文链接。
Java,一种面向对象的编程语言。若不懂编程语言倒还可以,但是面向对象的概念最好还是自行查找学习一下。因为,对象的知识圈将是你掌握Java的一道屏障。
class,中文解释为——类。这个东西代表着Java的世界观,以及行为准则。如果掌握了class,Java基本就被你拿下了。当然,我们只面向初级学习者,专业人员请绕道。说起类的概念,我觉得可以尝试着碰一碰生物学的知识。虽然我的生物课程不怎么优秀,但是我并不准备讲太专业的东西嘛。生物学中有分类这个概念,最经典的一句话就是:界门纲目科属种。这7个字代表着7个层次,从左到右,依次包含。界是最大的一层,种是最小的一层。为了和文章主题相联系,我们就不负责任地称其为类。
人类是怎么分的呢?此处不打算细说,说得越多错的越多。现在是挑了几个简单的作为本文的引例。人,应当属于灵长目,哺乳纲,动物界。同为灵长目的还有猴、猿。灵长目属于哺乳纲,同层的还有食肉目(如猫科动物)、啮齿目(如鼠类)等。与哺乳纲同层的有鸟纲、两栖纲等。算了,来张图吧。
图 1.1生物不完全分类图
Java中的类与图1.1中的类其实是异曲同工的。那么,类有什么特点呢?
1. 抽象。类是对N个具备某些共同特征的对象的一个概括,所以就类本身来讲是不存在的。(你能找到一个叫灵长目的动物吗?)
2. 继承与派生。类可以派生类,也可以继承类。派生是上层对下层,继承是下层对上层。如:灵长目继承了哺乳纲,哺乳纲派生了灵长目。
3. 多态。这个概念是令人厌恶的,因为它很无聊。哺乳纲的动物都有一个吃的行为,在Java中叫做方法。在它的派生类中,灵长目动物是杂食,而食肉目是肉食。同样是吃,一个只吃荤,一个荤素不挑。这就是多态。你不懂?没事,接着往下看。
4. 封装。此处并不打算解释这个特性,以后再详细说明。
从类的特点扩展开来:
1. 父类、子类、基类:两个具有继承关系的类中,上层类为父类,下层类为子类。基类就是只有子类没有父类那个类。图1.1中动物界就是基类。
2. 类与对象:类是抽象的,对象是具体的。一个类可以对应N个对象,一个对象只能对应一个类。(虽然你可能是由猩猩进化来的,但你不属于猩猩科,因为你已经是人科了。)
3. 实例化: 类生成一个特定对象的过程。(这已经有程序的色彩了)
前面提到过,类是Java的世界观。为什么呢?因为在Java中,无论你想做什么都要从类开始。你想吃个苹果,那就得先搞出来一个人类和苹果类。然后实例化一个人和一个苹果,最后开始吃苹果。唉,好忧伤的设定啊。其实,这个设计是为了大规模编程的方便性以及其他的我没有记住的原因。接下来,就该说说程序的事情了。