0.引子
我们的这个世界上,存在这么一种东西:
- 第一:它不占据任何3D之体积,即它没有Volume
- 第二:它也不占据任何2D之面积,即它没有Area
- 第三:它也不占据任何1D之长度,即它没有Length
总之,从空间的角度看,它不具有任何尺寸。
而且,从通用哲学的角度来讲,这种东西,不是一种精神实体;从专业哲学的角度讲,它也不是一种物理学意义上的物质实体。它不是物理意义上的物质,也不具有空间尺寸,但它确实存在,而且不是存在我们头脑的想像当中,因为它不是精神实体,但它确实存在,客观存在,而且某种意义上讲它们都是独立存在的。
你可能就要问我了,这是啥东西,那我们可以告诉你,它就是时空意义上的点(point)。 - 时间意义上的点,是如此的;
- 空间意义上的点,也是如此的;
不容否认,它们是客观存在的,某种意义上讲,也是独立存在的。因此,从哲学角度上讲,时空上的点(point)可以归类为客观实体的一种。
这种点,我说的这种——点(point),给人一种佛教所说的“空”的感觉,空,不是绝对的无,空,也是一种存在。
- 你说它空吧,佛家说,色即是空,万法皆空,只要是色,即是空,它真的很空;
- 你要说它空吧,佛家说空即时色,空就是色呀,你说它空也不空。
于是乎,很多人对于佛家说的空,一头雾水。比我说的,不占据任何体积、面积甚至几何尺寸的东西——点,还要玄乎,令人难以理解。但那人却在那里使劲说,它存在,它真的存在,而且独立地存在。
1.Java之空
1.1 寻找空的感觉,寻找对立的范畴
Java在设计上,或编程要求上,也有一种空,叫面向抽象编程,或面向接口编程。
这是一种设计之道,编程之道,其道就是“空”。
如果你理解“空”,对“空”特别敏感,特别有感觉,你就会发现,Java明明大行其道,反复强调的一种东西,叫OOP,是面向对象编程,而对象是具体的,不是抽象的,再次强调,是具象的。因此,应当叫面向具象编程,而不是面向抽象编程呀?当我说面向抽象编程时,你一定马上就要反驳我了呀,但我说,如果你对“空”天生有感觉,你就会会心一笑。因为你知道,Java之道,其道为“空”。
你会发现,OOP,精髓叫做“面向对象编程”的Java,一旦你要编程时,你更多地,是在设计,所谓编程,叫编程设计,设计点体现在哪?体现在一个东西上面,叫做“类(Class)“。
从哲学意义上讲,一般来说,类(Class)和对象(Object),是天然的一对范畴。
- 类(Class)——代表的是抽象,是空泛的存在,是共性的抽取,是公共的表达
- 对象(Object)——代表的是具象,是具体的存在,是个性的存在,是独立的表达
通常在学Java面向对象内容之初。我们通常喜欢举这样一些例子:
【1】比如说,狗,是一种类;那一条黄狗,则是一个对象,是具体的一条狗;
【2】又比如,在这个世界上,你找不到任何“树”这种东西,因为“树”是一种类;在这个世界上,你只能找到一棵棵的树,而看不到“树”本身。
【3】还有呀,老师还会说,类(Class)就像造车的图纸,对象(Object)就是具体的一辆辆车子,一个个铁皮盒子
所以呀,一个车子的类(Car),可以对应一辆车子( car),也可以对应两辆车子(two cars),还可以对应几十辆车子(dozens of cars)、成百上千或成千上万辆车子(thousands of cars)、许许多多车子(many cars or numerous cars),甚至无数辆车子(Countless cars),…嗯?好奇怪呀。
是的,如果对于哲学无感的人,当老师在那讲,“树”在这个世界上是不存在的时候,就会觉着好奇怪呀,这类人,如果你和他讲“白马非马”这种哲学命题,就会变得非常困难,因为他的脑子在抽象与具象和共性与个性之间转不过弯来,而且他们往往在语言的精微表达控制方面水平不是很高。但如果你对哲学略有那么一点感觉,即使你最初觉着奇怪,你也会马上反应过来,你会觉着,其实,一点都不其怪。原因很简单:
- 类:是一种归纳和抽象,所谓抽象,就是把象去掉了,抽象掉了,个性化的东西去掉,保留的是共性,论的是性,而不是摆弄具体的一件件、一样一样的东西
- 对象:才是那个独立存在的、分散的开来的,千千万万的实在的东西,那个一个个的充满个性的象,差异化的象,那一个个的体
归结起来,我们会发现——类和对象,有这样一些相对的或相反的特征
- 0------------------类--------------------------------------------------------对象
- 1------------------共性-----------------------------------------------------个性
- 2------------------抽象-----------------------------------------------------具象
- 3------------------1或少----------------------------------------------------多
- 4------------------类似模具、图像,处