前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java漫谈1

Java漫谈1

作者头像
用户1335799
发布2018-03-12 10:51:51
6140
发布2018-03-12 10:51:51
举报

对于接触编程的人来说,Java更多地代表了一门编程语言。

Java是一门通用的计算机编程语言,它是并行的,基于类的,面向对象的,可以一次编写到处运行的一门语言。

以上这句话摘自维基百科。不过刚开始接触编程的那段时间看到这句话时,仍然是一头雾水。我懂什么叫“计算机编程语言”,也大概懂“并行”的意思。但其后面的“基于类的”,“面向对象的”,看到这个我倒是不懂。

今天有朋友问我什么是Java的话,我通常会这么表达,如下:

你可以把软件产业想象成是一个江湖,在这个江湖中,C语言是易筋经,C++是少林七十二绝技。而Java就相当于是独孤求败用过的那柄玄铁重剑。也就是经杨过之后后来被黄蓉锻造成倚天剑和屠龙刀的那柄。自然,倚天剑和屠龙刀就对应了Java的两大应用分支,前者对应轻巧、敏捷、快速的Android开发,后者对应笨重而不失灵活性地服务器后端开发。

这种表述没有直接回答Java的本质,而是先从其在体系中的关系入手,来描述它。我觉得这样描述,会迅速地让提问者通过描述中的类比与现实生活产生联系,从而用一种相似的,或者说是一种类比的联系来理解它的存在。

当理解了关系之后,再去看其本质的定义,这个时候即使仍旧看不懂这个定义,也可以在理解关系的定义的时候展开相应的联想和思考了。

那“基于类”、“面向对象”这两个又该如何理解呢?

基于类

什么是类

在明白“基于类”这个名词之前,我们得要先明白什么是类。比较官方一点儿的解释就是——有着相同属性和动作的事物的集合。你可以把类想象成一个模板,比如我们是人类,也就是说我们都属于人这个模板,所以我们都会有一个头,两个胳膊,两条腿。而不会多一个头或者,多几个胳膊。

基于类的好处

而一旦有了这个模版,那么开发的时候就方便了。这就好比在四六级考试时,套用模板会比挖空脑袋白手起家要轻松。不过在现实的考试中你要是没有模版也能写出一些话出来,但在Java中,要是没有类,那可就什么程序都run不起来了。这个时候,你若有点儿编程经验可能就要问了,不对啊,我写第一个HelloWord的时候不也没有用类么?那是因为你刚进去的时候写HelloWord语句的那个文件就是一个类,只不过它没有什么明显的特征而已。就像空气一样,只有当它消失的时候,才感觉到它的存在。

面向对象

之前我们说道类有点儿像写作的模版,那么通过这些模版写出来的文章又相当于什么呢——对象。对象在Java中的就是被定义为类的实例。你与我都属于人类,你算是一个对象,我也算是一个对象,只要在这个世上具体的,活生生存在的生命体,就都是对象。

把这个概念发散一下,桌床櫈椅属于家具类,它们是家具类的实例,它们是对象;车船飞机属于交通工具类,他们是交通工具的具体实例;山河大川属于地理类,它们是地理的实例。从这个角度看,能得出两个结论。结论一,类和对象不是单一的转化关系,也就是说,对象可以更具类生成,类也可以从一群对象中提炼出来。结论二,万物皆对象。

在写这篇文章的时候,在知乎上看到一个关于面向对象的解释,感觉挺有趣,在这与你分享。

面向对象说白了就是,你办事我放心。即使我不放心,那也要假装放心。--摘自知乎

就比如要吃个蛋炒饭,面向过程的语言可能要从准备食材,热锅,一直到炒饭的全过程都得要自己完成。而面向对象的语言则只要告诉厨师这个对象我要吃蛋炒饭就可以了。在这个过程中不需要去管做饭的过程,当然至于炒出来的饭是咸是淡那就无法掌控了,如果不好吃,那唯一的办法就是换一个厨子再做一次,反应到程序中就是换一个对象调用相应的方法生成蛋炒饭。

小结一下,这篇文章主要分享了我对Java概念的理解,其中最重要的是它基于类,并且面向对象的特征。Java概念的话题就聊到这儿,我们下回见。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 怀英的自我修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是类
  • 基于类的好处
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档