第一个问题: 
学习JAVA也有段时间了 但感觉还没进入这个世界 很多东西感觉都是被动的接受 比方说方法的调用 一直都是被动的调用这个方法 那个方法  老师讲一个方法 学一个方法 如果自己要去实现一个功能 比如说我建了一个类 里面有人 有树 有河流 这时还差几朵云 我又建了几朵云  一切都就绪了 我调用一个方法 让它下雨  雨是下了 但还差了点诗意  我想有点发如雪的感觉 就想让它下雪  但API 怎么查不到这个方法  那怎么办  未必自己写个方法  JAVA API 源代码我也看了 看不懂  关于方法的调用 有什么好的学习方法 望前辈指教啊 第二个问题:
  我们知道现在的编程语言很多 比方说JAVA刚出来的时候 什么视频 书籍 都没有 难道都是自学 但自学也要有参考吧 未必那些牛人都不用教 语言出来 就会了 就知道面向对象是个好东西  现在不管学什么语言 第一就是上网找视频 或者买书看 我想那些发布这些语言的公司 总该有个教学手册吧  官方的才是权威的 如果有这方面的资料 哪位前辈给个链接介绍  谢谢

解决方案 »

  1.   

    Java这玩意的确大而全,所以学习周期可能比较长。
    所以初学者要有点耐心。
    我是强烈建议好好看API的源代码,但是也有人说这个对初学者太难了,所以什么时候开始看,个人自己判断。
    如果现在还看不懂,那就先不看,以后再说。Java刚出来时,的确书籍很少,大家都是自学的。我当年看的是2本,Java编程思想(Thinking in Java),和Java从入门到精通(当年好像有很多从入门到精通系列),Java编程思想写的比较好,慢慢看,慢慢敲代码,挺厚的一本书都看下来,基本脑子里也有个全体的感觉了。《Java从入门到精通》写得并不太好,我主要用来补缺的,如果《Java编程思想》里面没有,或者我看不懂的,就去《Java从入门到精通》翻翻,看看有没有相对应的。现在的Eclipse等集成环境做得很好,但是反而是初学者的基本功不扎实,这是事实。以前都是用ultraedit写,然后自己打javac编译的,一开始ant也没有。面向对象这东西,我也以为要初学者一下子知道它的好,很难。最好是写了很多C程序,很多面向过程程序后,再来体会面向对象。但是这个不现实,所以初学者只可以强行记住面向对象里面的东西。类,方法,成员变量,接口,抽象类,继承,重载,重写,多态,等等好多概念,先强行记一下,以后不明白的时候回头再翻书。学语言,写代码还是硬道理。如果自己一下子写不出甚至最简单的,那就先copy一下别人的。用Eclipse,debug模式运行,看看程序走向,然后看看程序每走一步,当时的各个变量的值有什么变化。理解了别人的,再照葫芦画瓢,自己试试。
      

  2.   

    学习是有过程的.肯定要经历一定时间的积累.
    能发现这些问题,楼主是好样的.个人学习路径是这样的
    foxbase->QBasic->foxpro->C++->java->......所以,当学到java的时候,虽然配置开发环境也搞得很郁闷.但是用什么函数之类的事情,怎么找,心里还算有数.慢慢积累吧,这些过程是别人替代不了的.不用着急.
      

  3.   

    我也是刚学java  并且是自学我在网上看到的别人推荐的书      也跟你分享一下                     共同努力学习好的書籍作用不言而喻
    ========================================================
    中文書名:JAVA 2核心技术 卷I、II:基础知识(原书第7版)
    英文書名:Core Java 2, Volume I、II--Fundamentals (7th Edition)
    原著作者:(美)Cay S.Horstmann,Gary Cornell
    翻譯編者:叶乃文
    簡介:本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java 2开发平台标准版J2SE 5.0的基础知识,主要内容包括面向对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具箱进行图形用户界面设计、异常处理、流输入/输出和对象序列化,泛型程序设计等。.
    本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员的必备参考书。... 
    點評:如果想提高Java編程水平,這本書將會對你有很大的幫助
    ========================================================
    中文書名: Java編程思想(第三版)
    英文書名: Thinking in Java (fourth edition)
    原著作者:(美)Bruce Eckel
    翻譯編者:陈昊鹏 饶若楠等 
    簡介:从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书作者有多年的教学经验,对C、C++、Java语言都有独到、深入的理解。因此他非常了解如何教授Java语言这门课程,也非常明白语言教学中的难点及人们的困惑。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,精心选取“对读者理解Java语言来说最为重要”的部分编写成书。同时又在随书光盘中提供了大量参考材料—这也是本书绝对物超所值的地方。
    随书光盘没有包含本书的源代码(可以从支持网站www.MindView.net免费下载),而是提供了大量作者讲授的讨论课内容及本书的前2版内容。
    本书内容丰富—从Java的基础语法到最高级特性,适合各层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言及Java语言的绝佳教材。
    點評:是一本提高Java編程的絕世好書,學習Java必買的書!
    ========================================================
    中文書名: Java程序设计教程(第5版)
    英文書名: Java how to program (six edition)
    原著作者: (美)H.M.Deitel/P.J.Deitel
    翻譯編者: 施平安 施惠琼 柳赐佳
    簡介: Java经过多年发展,现在已经真正成长为严格的、主流的开发语言。本书的作者是国际知名的教育专家H.M.Deitel和P.J.Deitel。全书通过Deitel特有的“活代码”方式,详细讲解了如何使用Java开发数据库应用程序、多媒体应用程序、网络应用程序。本书还介绍了软件工程知识、界面设计知识、调试技巧、性能提示等方面的内容。另外,本书还配有实验手册,它提供了一个优秀的学习环境,学生们可以用所学概念解决精心设计的各种问题。教师也能更好地评估学生对教材的理解程度。该实验手册也可以作为开放式实验、家庭作业以及自学用。本书的读者对象是各类编程人员,计算机相关专业的本科生和研究生。 
    點評: 第六版講解了最新的J5SE的技術,這本書作為入門書是最合適不過的,它讓你少走很多很多的彎路,看完它后你就能成為一個專業的Java程序員
    ========================================================
    中文書名: JAVA解惑
    英文書名:  Java Puzzlers : Traps, Pitfalls, and Corner Cases 
    原著作者: Joshua Bloch,Neal Gafter
    翻譯編者: 陈昊鹏
    簡介: 本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。.
    本书趣味十足、寓教于乐,适合于具备Java知识的学习者和有编程经验的Java程序员。
    你认为自己了解Java多少?你是个爱琢磨的代码侦探吗?你是否曾经花费数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?本书正好适合你!..
    Bloch和Gafter继承了Effective Jaya一书的传统,深入研究了Java编程语言及其核心类库的细微之处。本书特写了95个噩梦般的谜题,中间穿插着许多有趣的视觉幻象,寓教于乐。任何具备Java知识的人都可以理解这些谜题,但甚至是最老练的程序员也会觉得它们具有挑战性。
    多数的谜题都是些小程序,其行为诡秘,不可貌相。你能指出它们会做什么吗?根据这些谜题用到的特性以及各题的详细解惑方案,我们把它们松散地分成了几个部分。这些解惑方案超越了对程序行为的简单解释,向你展示下如何一劳永逸地避免底层的陷阱与缺陷。在本书的后部有一个方便的陷阱和缺陷目录,可供以后进行参考。
    一旦你解决了这些谜题,那些曾经愚弄过最具经验的Java程序员的隐晦且有违直觉的语言行为,将再也无法把你骗过。...
    ========================================================
    中文書名: Java學習筆記
    英文書名:  
    原著作者: 良葛格
    翻譯編者: 
    簡介: 本书是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型、J2SE中标准的API等均进行了详细介绍。本书的最后一章还安排了一个“文字编辑器”的专题制作。本书门槛很低,只要您了解Windows基本操作,无需有其他程序语言的基础,甚或没有接触过Java,都可以通过本书扎扎实实地学习Java。而对于一些曾经学习过Java,但概念和基础仍不扎实的读者,本书也准备了一些面向对象的观点与进阶的议题可供参考。 
    點評:  
    ========================================================
    中文書名: Java大学基础教程(第六版)   
    英文書名:Small Java how to program 
    原著作者: (美)Harvey M.Deitel;Paul J.Deitel
    翻譯編者: 刘晓莉;周璐;钱方
    簡介: 书是Java How to Program, Sixth Edition,即Java大学教程(第六版)的基础版,针对Java 2平台标准版5.0,详细介绍了如何使用Java语言进行面向对象编程。本书全面介绍了Java语言的基础知识,包括输入/输出、基本类型、运算符、控制语句和方法/数组等。与Java How to Program, Sixth Edition相比,较早地引入了类、对象和面向对象编程的概念,即继承、多态和接口等。同时,针对J2SE 5.0的特点,描述了Java语言中的许多新功能与特性,例如格式化输出printf,Scanner类,Enum类和变长形参表等。本书还引入了通用建模语言UML 2.0,以便帮助读者打下良好的面向对象设计基础。本书通过多个详尽的实例研究,使读者能够尽快掌握面向对象编程技巧。最后,本书的附录还介绍了如何使用调试器、Java API文档等多个有用的工具。
    點評:著名的計算機教育家Deitel編寫的入門書籍,對于初學者來說這本書講的相當的詳細,就像一位老師在你身旁一樣。
    ========================================================
    中文書名: Java程序设计语言(第4版) 
    英文書名:The Java Programming Language, (4th Edition)
    原著作者: 
    好的書籍作用不言而喻
    ========================================================
    中文書名:JAVA 2核心技术 卷I、II:基础知识(原书第7版)
    英文書名:Core Java 2, Volume I、II--Fundamentals (7th Edition)
    原著作者:(美)Cay S.Horstmann,Gary Cornell
    翻譯編者:叶乃文
    簡介:本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java 2开发平台标准版J2SE 5.0的基础知识,主要内容包括面向对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具箱进行图形用户界面设计、异常处理、流输入/输出和对象序列化,泛型程序设计等。.
    本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员的必备参考书。... 
    點評:如果想提高Java編程水平,這本書將會對你有很大的幫助
    ========================================================
    中文書名: Java編程思想(第三版)
    英文書名: Thinking in Java (fourth edition)
    原著作者:(美)Bruce Eckel
    翻譯編者:陈昊鹏 饶若楠等 
    簡介:从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书作者有多年的教学经验,对C、C++、Java语言都有独到、深入的理解。因此他非常了解如何教授Java语言这门课程,也非常明白语言教学中的难点及人们的困惑。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,精心选取“对读者理解Java语言来说最为重要”的部分编写成书。同时又在随书光盘中提供了大量参考材料—这也是本书绝对物超所值的地方。
    随书光盘没有包含本书的源代码(可以从支持网站www.MindView.net免费下载),而是提供了大量作者讲授的讨论课内容及本书的前2版内容。
    本书内容丰富—从Java的基础语法到最高级特性,适合各层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言及Java语言的绝佳教材。
    點評:是一本提高Java編程的絕世好書,學習Java必買的書!
    ========================================================
    中文書名: Java程序设计教程(第5版)
    英文書名: Java how to program (six edition)
    原著作者: (美)H.M.Deitel/P.J.Deitel
    翻譯編者: 施平安 施惠琼 柳赐佳
    簡介: Java经过多年发展,现在已经真正成长为严格的、主流的开发语言。本书的作者是国际知名的教育专家H.M.Deitel和P.J.Deitel。全书通过Deitel特有的“活代码”方式,详细讲解了如何使用Java开发数据库应用程序、多媒体应用程序、网络应用程序。本书还介绍了软件工程知识、界面设计知识、调试技巧、性能提示等方面的内容。另外,本书还配有实验手册,它提供了一个优秀的学习环境,学生们可以用所学概念解决精心设计的各种问题。教师也能更好地评估学生对教材的理解程度。该实验手册也可以作为开放式实验、家庭作业以及自学用。本书的读者对象是各类编程人员,计算机相关专业的本科生和研究生。 
    點評: 第六版講解了最新的J5SE的技術,這本書作為入門書是最合適不過的,它讓你少走很多很多的彎路,看完它后你就能成為一個專業的Java程序員
    ========================================================
    中文書名: JAVA解惑
    英文書名:  Java Puzzlers : Traps, Pitfalls, and Corner Cases 
    原著作者: Joshua Bloch,Neal Gafter
    翻譯編者: 陈昊鹏
    簡介: 本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。.
    本书趣味十足、寓教于乐,适合于具备Java知识的学习者和有编程经验的Java程序员。
    你认为自己了解Java多少?你是个爱琢磨的代码侦探吗?你是否曾经花费数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?本书正好适合你!..
    Bloch和Gafter继承了Effective Jaya一书的传统,深入研究了Java编程语言及其核心类库的细微之处。本书特写了95个噩梦般的谜题,中间穿插着许多有趣的视觉幻象,寓教于乐。任何具备Java知识的人都可以理解这些谜题,但甚至是最老练的程序员也会觉得它们具有挑战性。
    多数的谜题都是些小程序,其行为诡秘,不可貌相。你能指出它们会做什么吗?根据这些谜题用到的特性以及各题的详细解惑方案,我们把它们松散地分成了几个部分。这些解惑方案超越了对程序行为的简单解释,向你展示下如何一劳永逸地避免底层的陷阱与缺陷。在本书的后部有一个方便的陷阱和缺陷目录,可供以后进行参考。
    一旦你解决了这些谜题,那些曾经愚弄过最具经验的Java程序员的隐晦且有违直觉的语言行为,将再也无法把你骗过。...
    ========================================================
    中文書名: Java學習筆記
    英文書名:  
    原著作者: 良葛格
    翻譯編者: 
    簡介: 本书是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型、J2SE中标准的API等均进行了详细介绍。本书的最后一章还安排了一个“文字编辑器”的专题制作。本书门槛很低,只要您了解Windows基本操作,无需有其他程序语言的基础,甚或没有接触过Java,都可以通过本书扎扎实实地学习Java。而对于一些曾经学习过Java,但概念和基础仍不扎实的读者,本书也准备了一些面向对象的观点与进阶的议题可供参考。 
    點評:  
    ========================================================
    中文書名: Java大学基础教程(第六版)   
    英文書名:Small Java how to program 
    原著作者: (美)Harvey M.Deitel;Paul J.Deitel
    翻譯編者: 刘晓莉;周璐;钱方
    簡介: 书是Java How to Program, Sixth Edition,即Java大学教程(第六版)的基础版,针对Java 2平台标准版5.0,详细介绍了如何使用Java语言进行面向对象编程。本书全面介绍了Java语言的基础知识,包括输入/输出、基本类型、运算符、控制语句和方法/数组等。与Java How to Program, Sixth Edition相比,较早地引入了类、对象和面向对象编程的概念,即继承、多态和接口等。同时,针对J2SE 5.0的特点,描述了Java语言中的许多新功能与特性,例如格式化输出printf,Scanner类,Enum类和变长形参表等。本书还引入了通用建模语言UML 2.0,以便帮助读者打下良好的面向对象设计基础。本书通过多个详尽的实例研究,使读者能够尽快掌握面向对象编程技巧。最后,本书的附录还介绍了如何使用调试器、Java API文档等多个有用的工具。
    點評:著名的計算機教育家Deitel編寫的入門書籍,對于初學者來說這本書講的相當的詳細,就像一位老師在你身旁一樣。
    ========================================================
    中文書名: Java程序设计语言(第4版) 
    英文書名:The Java Programming Language, (4th Edition)
    原著作者: (美)Ken Arnold, James Gosling, David Holmes
    翻譯編者: 陈昊鹏 程 张思博 李楠
    簡介: 本书是Java程序设计语言的权威指南,系统地介绍Java的主要包(即java,lang,*、java.util和java.io)中的大多数类,并以内容丰富的示例对这些类如何工作进行了深入剖析。作者对这部经典著作的前一版本进行了大幅更新,使其反映Java 2标准版5.0(J2SE 5.0)中主要的增强。本版中增加了一些新的章节,专门讨论泛型、枚举、注解、断言和正则表达式等J2SE 5.0中引入的强大语言新特性。此外,本书还强调了当今构建健壮、高效和可维护的Java软件的最佳实践。.
    本书对所有程序员(包括那些经验丰富的程序员在内)都是不可或缺的参考书。...
    點評:  
    ========================================================
    中文書名: 
    英文書名:  
    原著作者: 
    翻譯編者: 
    簡介: 
    點評: 
     (美)Ken Arnold, James Gosling, David Holmes
    翻譯編者: 陈昊鹏 程 张思博 李楠
    簡介: 本书是Java程序设计语言的权威指南,系统地介绍Java的主要包(即java,lang,*、java.util和java.io)中的大多数类,并以内容丰富的示例对这些类如何工作进行了深入剖析。作者对这部经典著作的前一版本进行了大幅更新,使其反映Java 2标准版5.0(J2SE 5.0)中主要的增强。本版中增加了一些新的章节,专门讨论泛型、枚举、注解、断言和正则表达式等J2SE 5.0中引入的强大语言新特性。此外,本书还强调了当今构建健壮、高效和可维护的Java软件的最佳实践。.
    本书对所有程序员(包括那些经验丰富的程序员在内)都是不可或缺的参考书。...
    點評:  
    ========================================================
    中文書名: 
    英文書名:  
    原著作者: 
    翻譯編者: 
    簡介: 
    點評: 
     
      

  4.   

    还有软件开发学习的路线图               我也是去网上找的   借花献佛  ===========
    软件开发学习路线  
        两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
    从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
        A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
        B.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
        C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
        D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
        E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
        F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
        G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
        H.项目管理、体系结构、框架知识。
        正确的路线应该是:B→C→E→F→G→H。
        还需要补充几点:
        1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
      2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
      3).编程语言作为学习软件开发的主线,而其余的作为辅线。
      4).软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H。
      3.如何学习Java?
      3.1 Java学习路线
          3.1.1 基础语法及Java原理
        基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、 J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得"真正"的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
          3.1.2 OO思想的领悟  
      掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
    使用面向对象的思想进行开发的基本过程是:
        ●调查收集需求。
        ●建立用例模型。
        ●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
        ●细化分析模型到设计模型。
        ●用具体的技术去实现。
        ●测试、部署、总结。
        3.1.3 基本API的学习
        进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的"不需要重新发明轮子"。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。
        基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
        3.1.4 特定API的学习
        Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
        3.1.5 开发工具的用法
        在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。
    程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。
        从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。
        Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder 占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓"柳暗花明又一村"。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
        3.1.6 学习软件工程
        对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见"软件开发学习路线"小节。
        3.2学习要点
        确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
        3.2.1勤查API文档
        当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用"Javadoc"工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。
        对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。
        当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下:
      ●找特定的包,包一般根据功能组织。
      ●找需要使用类,类命名规范的话我们由类的名字可猜出一二。
      ●选择构造器,大多数使用类的方式是创建对象。
      ●选择你需要的方法。
        3.2.2 查书/google->写代码测试->查看源代码->请教别人
      当我们遇到问题的时候该如何解决?
      这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像"某些类/方法如何使用的问题",DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看API的源代码验证你的想法。万不得已才去请教别人。
        3.2.3学习开源软件的设计思想
        Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
        3.2.4 规范的重要性  
        没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.jcp.org下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。
        3.2.5 不局限于Java
        很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。
        Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。
        4.结束语
        需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比…… 拖起明天的梦想还得靠自己!
      

  5.   

    个人愚见:打好基础,做好能够认真学习Java API源码,然后学一些框架。例如:ssh框架。然后是多多的练习,尝试做一些项目,最后再回头看看这些框架的实现及源代码,相信你会有不同的收获。贵在坚持!
      

  6.   

    基础很重要,api文档很重要,要知道如何查找类及方法,
    学习java要由浅入深,不能跳跃式学习,
    相信自己,只要努力,会学好的
      

  7.   

    Think in java 是本不错的书,特别是第二版的,已经成为教科书了。英语好的话建议看原版。
    现在JDK的API说明也已经有中文版的了,没事好好看看。主要是要能过融汇贯通。框架类的东西了解一下即可,初学的切莫去使用那些工具来生成代码走捷径,到头来代码都不会写。
    还有就是看你学JAVA做什么了,如果是做信息系统的好好去学习一下sql吧,sql是最基本的东西,但是常常被大家忽略
      

  8.   

    我对初学者的建议:1.初学者如果一开始理解不了面向对象,那就不必死扣,理解不了就先放一边。先按照面向过程的思维来学习。2.在学习面向对象之前,请先搞清楚基本的程序逻辑,比如:变量啊,if,for,方法调用啊...这些都没有搞清楚的话,学习面向对象完全是白谈3.面向对象的优势是在软件工程,所以就算你在刚刚学习的过程中觉得吃力也不得着急,慢慢来。当你基础扎实之后,对于面向对象的理解对你来说就是小菜一碟。就算现在工作一两年的人也不一定能把JAVA设计的很好,这个要看出去后的机缘
      

  9.   

    首先,不要想一步登天,不要一开始就要准备写一个大型软件。其次,软件开发是需要下功夫的,最开始要多看书,多上自习,分析代码。看比较基础的书,一般大学教程或者图书都比较基础。接下来,你需要把书上的例子用代码实现,但不要总是抄写书上的代码。你要慢慢学会解决实际问题。大概半年(或者几个月),就开始看点小型项目了。比如,什么贪吃蛇游戏之类的。然后你就多去看API,多使用这些API。再然后,学习框架之类的。慢慢来,我们都是这么过来的。相信自己,摆正心态,每天进步一点,到头来你就有很大进步!