Java设计之道:色即是空,空即是色

本文从哲学角度探讨Java编程,阐述面向抽象编程、面向接口编程的设计理念。介绍类与对象的关系,指出接口是最抽象的,具有空性、强制性和一致性,是一种规范。还提及接口的发展,如函数式接口和标记性接口,强调从多维度理解Java编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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------------------类似模具、图像,处
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值