4张的时候,写代码的早已谈经论道了,做业务的早已下海单挑了,做流氓的早已改邪归正了。而对于我,却又开始学习人见人恨鬼见鬼愁的java,真是脑袋进水,可喜可悲。
4张的人去学java,那就好比20多岁的大小伙子去读小学,多少得有些脸红的。
但中国有句古活——活到老学到老,这五个字的继承,使中华文明绵延数千年不倒,他是我学习java不觉脸红的坚实理论基础,它同时还让我感到无比的自豪——只有具有这个优秀品质的人才是真正的炎黄子孙啊!
当然,java中最讲究的也是继承,同时,java也需要大家活到老学到老。因此我相信java也会绵延数千年不倒。说到这里,有人说,.net天天更新,.net也是面向对象的,也有继承,也需要活到老学到老,那.net是不是会绵延数年万年不倒呢?
我严重不同意这个观点,因为.net天天更新,学到老也不会有所积淀,所以还是放弃吧。
当然,作为年近4张之人,我不得不花费宝贵时间,想一个堂皇的理由,一个经得起推敲的理由,一个能让七八九零后对我不会有敌意和BS的理由。
我想到了这样的理由,不是一个,而是两个。
之一:我不是来跟你们抢饭碗的,咱们是好朋友,咱们是好伙伴,咱们是stake holder!
之二:java地主老才才是咱们的敌人,敌人很强大,需要我们几代人共同搞定!
工作关系,接触了太多的计算机软件专业的学生,很多人都会有一个共同的疑问,那就是,学了好几年的编程,什么java,c++,数据结构.....都学了,为什么找工作还是不行呢?
一般同学把原因归结为没有实践经验。最新一期的《程序员杂志》的序中,主编孟迎霞老师也提出一个问题:现在学生花了那么多钱那么多时间修完高等教育,毕业后为什么还得再花一大把银子到培训公司做培训呢?这个问题我看是问到痛处了,这是向大学的教育体制提出的诘问。得感谢孟老师。
但我认为,“内功”才是问题的关键。
一招鲜,吃遍天,不怕千招会,就怕一招熟,说的都是一个道理。学了很多种编程语言而写不出几行代码,实战经验只是原因之一,重要的,我看还是因为学了好多但却都没有学得透彻,也就是“千招会”意之所指。金庸小说的地道之处,就在于他抓住了问题的本质,看官都知道,他的小说之中,内功深厚之人,哪怕还没有学会一招一式,威力也很是可怕;而那些招式花捎没啥内功老江湖,往往也只能干些欺小压实之事。
内功之于编程语言,就是语言的基础知识,而所谓的实战,就是招式。 有些人看到这里也许马上就要睡着了,基础不就是数据、语法、程序结构吗?非也。
下面,我将通过我java学习的一些经验,与大家分享我对基础的理解。
你的类中有几个方法?
我随便写一个类的代码如下:
public class Employee
{
private String firstName;
private String lastName;
public String setFirstName(String firstName)
{
this.firstName=firstName
}
}
就这几行代码,我问一个问题:这个类里有几个方法?
1个?
2个?
3个?
....
答案会很多。
如果你说1个,我很理解你。
如果你说2个,我很理解你。
如果你说3个,我很理解你。
如果你说...,我也很理解你。
但是除了答案是...的同学,我需要提醒两句。
第1句:这绝对属于“基础”之范筹,即,这是内功。
第2句:对于java,永远要记得其“继承”的特性。对了,我这里说的是记住特性,而不仅仅是"继承"这两个字,单纯的这两个字,只有在考试时的填空题中有些用处。
说起继承,要具体地思考这两个字的含义。
java中,所有类的根类都是Object类,当然,这个“所有”,即包含你写的类,也包含我上面举例例的那个类,还包含java自带的所有其它类。
既然都是继承自这个类,你研究过这个类中都有哪些方法和接口了吗?如果你没有研究过那如何能知道自己的类中已包含了哪些方法?已经包含了哪些接口?如果你连自己的类中有什么方法可以用都稿不清楚,又如何能够在项目中灵活应用呢?有看官不服,说我不知道他里面有什么方法,但我可以自己写。我只能说,勇气值得佩服无知值得克服。Object中的方法,那至少是人精之中的人精的思想的精华,永远值得去研究和学习。
如果你已经学过java,但是还没研究过Object中的方法和接口,那么,立刻,马上,right now开始行动吧。
岁数大了,啰嗦是自然的现象,自然规律,也许现在你们还不明白这句话的含义,但我相信以你们的聪明才智,不到我这个岁数就能比我更啰嗦了。
学编程如果不懂分析设计与建模,那永远是苦力。《大象-thinking in UML》是迄今为止最好最好最好最好的讲分析设计与建模的好书。http://www.china-pub.com/129881