我带过不少JAVA,C++班的课,来学习的同学很多都是初学者,一部分是急着找工作的,一部分是很感兴趣的。他们都想在短短一两个星期内掌握Java,这是不切实际的。而且这样做很容易让自己心浮气燥,难以静下心来思考。
JAVA是比较热门,但我们自己不能头脑发热。我觉得所有初学者要学好JAVA或C或UNIX等任何一门计算机技术,一定要做到:
动手,动脑,动嘴,静心。
其中动手是最为重要的了。很多人学计算机技术就是看书、听课,当时是明白了,过后马上就忘记。如果不愿意敲键盘,就不如不学。即使有时候所敲的代码你不明白,可以先运行,看看结果,增加感性认识,然后上升到理性的认识。特别是在大家做考题的时候,很多东西,概念,你只要随便敲一个程序做做实验就能很深刻的理解,但很多人都是不愿意动手,这样的学习效率能高吗。
动脑,动嘴, 就是要多想问题,多思考,有不懂的问题就大声说出来。很多人一是不动脑筋想问题,也就提不出问题。还有一些人怕自己提出的问题傻,怕人笑话。其实IT行业技术面很广,工作了5、6年的人说出一些傻话来也是正常的。
然后静心很重要。现在社会很浮躁,IT行业更浮躁,这种心态是学不好东西的。我带过一群C++的学生,给他们讲C++基础,指针等,他们说太基础了,不愿学。要我讲高级点的,我就教他们WIN32,他们说就教MFC吧,OK我就带他们做一个小MFC程序,结果有些人连C++大小写要区分都不知道。学JAVA的学生很多让我讲EJB,说热门。我说你学会了基本的东西,EJB之类东西是很容易的,否则就是本末倒置。当然有些人情况特殊,急着工作,那去学JSP,SERVLET,JDBC很容易,也好找工作,但基础最后还是要补的。很多人JAVA做了几年了,连多态,线程都没搞明白。
JAVA中,有些概念不好理解怎么办,有学生说我就是不理解线程是怎么回事。我觉得理解是需要时间的,一下不能理解,多看看,甚至多背几遍就理解了。读书千遍,其义自见,现在也管用。而且我觉得初学时候要不求甚解,多做,多敲代码。等你做的足够多的时候,见多识广的时候,概念,理论的东西就很容易理解了。
JAVA的精华就在面向对象思想,好比指针是C语言的精华一样,多花点心思就能掌握。