信子的人有永生;不信子的人得不着永生,神的震怒常在他身上。 《约翰福音》 3:36

我们是生活在一个信心的世界里。可是因为忙碌的生活,和见多不怪的习以为常,我们却忽略、遗忘了这样的信心。出门办事乘坐公交,我们相信公交司机会安全驾驭;乘火车旅行,我们相信火车不会越轨;在公司工作,我们相信上了班,到了月底公司就会发工资;甚至我们过桥时,我们相信桥不会猛然倒塌;甚至我们住在房子里,相信房子不会突然坍塌。其实,生活诸多的一些细微之处都透视了我们的信心。乃至在植物界里,从诗人的眼光去看落叶的离枝而去随风飘荡之前,也是相信了风会搭载它。有短诗如下:

如果说落叶的腾飞 是因为感受到了风的力量 同样的,如果说星星的闪耀 是因为眼睛感受到了星光的温馨 那么,明天太阳照常的升起 是不是承载了,你内心深处某种快淡忘的相信!

在程序中,接口就是信心的最佳体现。接口只有方法的申明,没有具体的实现。在使用接口中,我们也不必去关注其内部的最终实现,大多时候也根本不知道其内部的实现。我们唯一要用的就是,按着它的申明去调用即可。调用了,就能按着约定的信息返回。不知道从哪来的,是怎么做的,却可以直接拿来用。如果这不叫信心,那我不知道信心一词是否还有其他更好的诠释。

<<圣经>>上记着,“信子的人有永生”,“不信子的人得不着永生”。我们不明白为什么相信就有永生,但只要相信就能得着永生。这似乎就如程序里的接口,不知道接口背后真实的实现处理,但只要调用了就能得着回复。此外,“耶稣说:“我就是道路、真理、生命;若不藉着我,没有人能到父那里去。”(《约翰福音》 14:6)。从此看来,通往永生的有且只有唯一的一条道路、一个“接口”。这似乎又基本符合程序编程的思维习惯,不可能为同一个功用“永生”预备两条道路、两个“接口”。真若为一个功作预备了两个或多个同样的接口,那就成代码冗余了。

程序语言翻译

人人有追求永恒的内在本性,也都期望永生。可在短暂的今生又无法切身看到永生。这就像一个接口,不是具体的实现类,是个抽象的东西,看也看不见,摸也摸不着,只要用了才知道。接口的内在实现我们无法得知,接口的返回结果我们不能左右,我们唯一能做的就是调用。正如代码所示,在“永生”这个抽象的接口里,我们看到的只是光秃秃的几行代码,里面只有一个方法、一条道路供使用,那就是“耶稣”,入参也只有一个,那就是“是否相信”。

代码清单1:EternalLife类源代码

package forever;

/** * 通往永生的接口 */ public interface EternalLife {

/**
 * 唯一的接口就是耶稣
 * 具体的如何实现,无法得知,或许也不必得知
 * @param isBelieve是否相信
 */
public void jesus(boolean isBelieve);

}