JAVA教程之JAVA中面向对象编程言语的进修之路
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。编程|对象<Pstyle="TEXT-INDENT:2em">第一步是安装好JDK<Pstyle="TEXT-INDENT:2em">写一个HelloWorld,?实在JDK的进修没有那末复杂,关于JDK有两个成绩是很简单一向困扰Java程序员的中央:一个是CLASSPATH的成绩,实在从道理下去说,是要弄分明JRE的ClassLoader是怎样加载Class的;另外一个成绩是package和import成绩,怎样来寻觅类的路径成绩。把这两个成绩探索分明了,就打扫了进修Java和利用JDK的最年夜停滞。保举看一下王森的《Java深度历险》,对这两个成绩举行了深切的切磋。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">第二步是进修Java的语法<Pstyle="TEXT-INDENT:2em">Java的语法是类C++的,基础上支流的编程言语不是类C,就是类C++的,没有甚么新工具,以是语法的进修,也许就是半天的工夫充足了。独一必要注重的是有几个不简单弄分明的关头字的用法,public,protected,private,static,甚么时分用,为何要用,怎样用,这大概必要有人来指导一下,我现在是完整本人揣摩出来的,花了好久的工夫。不外厥后我看到《ThinkinginJava》这本书下面是讲了这些观点的。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">第三步是进修Java的面向对象的编程言语的特征<Pstyle="TEXT-INDENT:2em">好比承继,机关器,笼统类,接口,办法的多态,重载,掩盖,Java的非常处置机制。关于一个没有面向对象言语背景的人来讲,我以为这个历程必要花很长很长工夫,由于进修Java之前没有C++的履历,只要C的履历,我是也许花了一个月摆布吧,才完全把这些观点都弄分明,把书下面的例子重复的推测,修正,实验,把那几章内容重复的看过去,看已往,看了不下5遍,才完全意会了。不外我想假如有C++履历的话,应当一两地利间充足了。那末在这个过程当中,能够多看看《ThinkinginJava》这本书,劈面向对象的解说十分透辟。惋惜的是我进修的时分,并没有看到这本书,以是本人花了大批的工夫,经由过程本人的实验和推测来学会的。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">第四步就是入手下手熟习Java的类库<Pstyle="TEXT-INDENT:2em">Java的基本类库实在就是JDK安装目次上面jrelibt.jar这个包。进修基本类库就是进修rt.jar。基本类库内里的类十分十分多。听说有3000多个,我没有统计过。可是真正关于我们来讲最中心的只要4个,分离是<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.lang.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.io.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.util.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.sql.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这四个包的进修,每一个包的进修都能够写成一本厚厚的课本,而Oreilly也的确是如许做的。我以为假如工夫对照紧,是不成能经由过程读四本书来进修。我以为对照好的进修办法是如许的:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">起首要通读全部package的框架,懂得全部package的class,interface,exception的组成,最好是可以找到先容全部包框架的文章。这些专门先容包的书本的前几章应当就是这些整体的框架内容先容。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">对包全体框架的掌控并非要熟习每一个类的用法,记着它有哪些属性,办法。想记也记不住的。而是要晓得包有哪些方面的类组成的,这些类的用处是甚么,最中心的几个类分离是完成甚么功效的。我在给人培训的时分通常为一次课讲一个包,以是不成能具体的先容每一个类的用法,可是我重复夸大,我给你们讲这些包的不是要告知你们类的办法是怎样挪用的,也不请求你们记着类的办法挪用,而是要你们懂得,Java给我们供应了哪些类,每一个类是用在甚么场所,当我碰到成绩的时分,我晓得哪一个类,大概哪几个类的组合能够办理我的成绩,Thatall!,当我们详细写程序的时分,只需你晓得该用哪一个类来完成你的事情就充足了。编码的时分,详细的办法挪用,是边写代码,边查Documentation,一切的工具都在Documentation内里,不请求你必定记着,实践你也记不住3000多个类的统共快要10万个办法挪用。以是对每一个包的整体框架的掌控就变得极其主要。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">经由过程下面的进修,假如学的对照踏实的话,就打好了Java的基本了,剩下要做的事情是扫清Documentation内里除下面4个包以外的其他一些对照有效处的类。信任停顿到这一步,Java的自学才能已被培育出来了,能够到了间接进修Documentation的程度了。除要做GUI编程以外,JDK内里其他会有效处的包是这些:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.text.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">java.net.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">javax.naming.*;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这些包内里真正用的对照多的类实在很少,只要几个,以是不必要花良多工夫。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">第五步JavaWeb编程<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Web编程的中心是HTTP协定,HTTP协定和Java有关,假如不熟习HTTP协定的话,固然也能够学好Servlet/JSP编程,可是达不到触类旁通,一通百通的地步。以是HTTP协定的进修是必备的。假如熟习了HTTP协定的话,又有了Java编程的优秀的基本,进修Servlet/JSP几乎轻而易举,我进修Servlet/JSP就用了不到一周的工夫,然后就入手下手用JSP来做项目了。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在Servlet/JSP的进修中,重头仍旧是ServletDocumentation。ServletAPI最经常使用的类很少,花对照少的工夫就能够把握了。把这些类都看一遍,多写几个例子尝尝。Servlet/JSP编程实质就是在重复挪用这些类来经由过程HTTP协定在WebServer和Brower之间扳谈。别的对JSP,还必要熟习几个经常使用JSP的标志,详细的写法记不住的话,一时查就是了。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">别的JavaWeb编程进修的重点要放在WebApplication的计划形式上,怎样举行营业逻辑的剖析,而且举行公道的计划,依照MVC计划形式的请求,使用Servlet和JSP分离完成分歧的逻辑层,把握怎样在Servlet和JSP之间举行流程的把持和数据的共享,和WebApplication应当怎样设置和部署。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">第六步J2EE编程<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">以上的进修历程假如是对照顺遂的话,举行到这一步,难度又蓦地进步。由于下面的常识内容都是只触及一个方面,而像EJB,JMS,JTA等中心的J2EE标准常常是几种Java手艺的综合使用的结晶,以是把握起来难度对照年夜。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">起首必定要进修好JNDI,JNDI是AppServer定位服务器资本(EJB组件,Datasouce,JMS)查找办法,假如对JNDI不熟习的话,EJB,JMS这些工具几近学不下往。JNDI实在就是javax.naming.*这个包,使用起来很复杂。难点在于服务器资本文件的设置。关于服务器资本文件的设置,就必要看看专门的文档标准了,好比web.xml的写法,ejb-jar.xml的写法等等。针对每种分歧的AppServer,另有本人的服务资本设置文件,也是必要熟习的。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">然后能够进修JTA,次要是要了解JTA关于事件的把持的办法,和该在甚么场所利用JTA。这里能够复杂的举个例子,我们晓得一样平常情形能够关于一个数据库毗连举行事件把持(conn.setAutoCommit(false),....,conn.commit()),做为一个原子操纵,可是假定我的营业需求是要把对两个分歧数据库的操纵做为一个原子操纵,你能做的到吗?这时候候只能用JTA了。假定操纵历程是先往A数据库插一笔记录,然后删除B数据库另外一个纪录,我们本人写代码是把持不了把全部操纵做为一个原子操纵的。用JTA的话,由AppServer来完成把持。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在进修EJB之前要进修对象序列化和RMI,RMI是EJB的基本。接着进修JMS和EJB,关于EJB来讲,最关头是要了解EJB是怎样经由过程RMI来完成对远端对象的挪用的,和在甚么情形下要用到EJB。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在进修完EJB,JMS这些工具以后,你大概会心识到要岌岌可危进修两个范畴的常识,一个是UML,另外一个是DesignPattern。Java企业软件的计划十分器重框架(Framework)的计划,一个好的软件框架是软件开辟乐成的需要前提。在这个时分,应当入手下手把进修的重点放在计划形式和框架的进修上,经由过程进修和实践的编程履历来把握EJB的计划形式和J2EE的中心形式。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">J2EE标准内里,除EJB,JMS,JTA,Servlet/JSP,JDBC以外另有良多良多的企业手艺,这里纷歧一举行先容了。<Pstyle="TEXT-INDENT:2em">别的另有一个最新范畴WebServices。WebServices也完整没有任何新工具,它像是一种黏合剂,能够把分歧的服务一致起来供应一个一致的挪用接口,作为利用者来讲,我只需取得服务供应者给我的WSDL(对服务的形貌),就够了,我完整不晓得服务器供应者供应的服务事实是EJB组件,仍是.Net组件,仍是甚么CORBA组件,仍是其他的甚么完成,我也不必要晓得。WebServices最巨大的中央就在于经由过程一致的服务供应体例和挪用体例,完成了全部Internet服务的共享,是一个十分使人冲动的手艺范畴。WebServices仿佛今朝还没有甚么很好的书本,可是能够经由过程在收集下面查材料的体例来进修。如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉, 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 Java是一种计算机编程语言,拥有跨平台、面向对java 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
页:
[1]