调查:学习java的难点和重点在哪里?学习J2EE的难点和重点在哪里?
只是希望一边讨论一边学习!举例子:
public class Plus 
{
 public static void main(String[] args) 
 {
  int c=1;
  int a;
  c=c++;
  a=c;
  System.out.println("c = "+c+" a="+a);
 }
}
这段程序输出什么?为什么?进行深入分析应该算一个小小的难点了吧!再如:
J2EE的EJB配置是不是也算是难点呢?
面对这些难点,除了不断的学习,是否还需要总结呢?

解决方案 »

  1.   

    //a=c=1经分析知道的!!
    J2EE的EJB配置是不是也算是难点呢? 
    //ejb许多公司几乎不用的,呵呵 不用学习,只要你学会了 struts hibernate spring就行 了 面对这些难点,除了不断的学习,是否还需要总结呢?
    //当然需要总结,学习任何只是都要总结的   
      

  2.   

    个人认为学习JAVA的重点应该放在理解面向对象编程和设计上,当然这也是难点,站在设计的角度去思考编程应该是最利于程序员成长的方式。
      

  3.   

    java语法什么的
    很简单
    难得就是OOP,也就是面向对象编程
      

  4.   

    先把《Thinking in Java》真正的看熟
    在去了解J2EE的框架。
      

  5.   

    我觉得思想是一个很重要的东西,尤其是设计的时候,假如你没有理解透这个OOP思想,你设计的,你写出来的程序是失败的,可能是很失败的!
    自己也是很差,希望高手讲述下自己的观点!
      

  6.   

    CSDN竟能容忍这种赤裸裸的灌水!我也因此喜欢上了CSDN
      

  7.   

    java的难点和重点就是它的应用,看你怎么用它,如用oop思想和应用设计模式来设计
      

  8.   

    学Java 编程思想很重要 我在刚学习Private方法的时候 就对它的get(),set()方法的用法感到迷惑 不知道什么时候用什么方法 哎 现在还不是很明白 - -#
      

  9.   

    谢谢各位的回复!总结一下大家讲的1、Java语法只是基础,没有什么难的。不过我觉得这是基础,对jdk不熟悉,其他的也根本谈不上。
    2、Java的难点,关键是要理解OOD(面向对象设计),OOP(面向对象编程)的思想。
       这个思想比较虚,怎么才能掌握这个思想呢?
       是不是可以深入探讨交流一下,比如我们要应用面向对象设计原则:开闭原则、接口分离原则、依赖倒置原则等等,是否可以具体谈谈。
    3、设计模式很重要。
       为什么设计模式很重要呢?
       我觉得设计模式只是让我们更好的理解面向对象的博大精深,不要停留在设计模式,通过现有的设计模式学习,要学会更大更好更符合应用要求的设计模式。
    4、java的难点和重点就是它的应用。怎么应用又回到了2和3。
       其实在应用中,一个问题有很多个解决办法,关键是哪一个是最合理的,这个选择也许就是思想吧。以上加了个人见解,如有不对,请批评指正!
    希望大家互相学习
      

  10.   


    对J2EE的重点难点,我不知道大家是怎么理解的?
    那么多框架的选择就感觉够难的,还有框架会不会限制我们的思想呢?
    struts hibernate spring这些学了是不是就够用了呢,如何更好的学习这些框架,可有高人介绍下。
    大部分人只知道:
    Struts是MVC框架,是MVC的一种实现,它将Servlet和JSP标记用作实现的一部分。
    Hibernate是一个对象关系映射框架,使用对象编程思维来操纵数据库,跟Sql拜拜。
    Spring是使用基本的JavaBean来完成以前只可能由EJB完成的事情。
    大家可以交流一下学习这些框架的经验!另:EJB真的很多公司都不用吗,我觉得用的公司也有很多吧。
    不管公司用不用,探讨学习EJB,应该是对我们的又一次提高吧!
      

  11.   

    面向对象设计原则--《敏捷软件开发》摘抄自《敏捷软件开发-原则、方法与实践》-Robert C. Martin (1)SRP 单一职责原则 
    就一个类而言,应该仅有一个引起它变化的原因。 
    职责即为"变化的原因". 
      
    (2)OCP 开放封闭原则 
    软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。 
    对于扩展是开放的,对于更改是封闭的. 
    关键是抽象.将一个功能的通用部分和实现细节部分清晰的分离开来. 
    开发人员应该仅仅对程序中呈现出频繁变化的那些部分作出抽象.拒绝不成熟的抽象和抽象本身一样重要. 
      
    (3)LSP Liskov替换原则 
    子类型必须能替换掉他们的基本类型 
      
    (4)DIP 依赖倒置原则 
    抽象不应该依赖于细节。细节应该依赖于抽象。 
    Hollywood原则: "Don't call us, we'll call you".程序中所有的依赖关系都应该终止于抽象类和接口。针对接口而非实现编程。 
    任何变量都不应该持有一个指向具体类的指针或引用。 
    任何类都不应该从具体类派生。 
    任何方法都不应该覆写他的任何基类中的已经实现了的方法。 
      
    (5)ISP 接口隔离原则 
    不应该强迫客户依赖于他们不用的方法。接口属于客户,不属于他所在的类层次结构。 
    多个面向特定用户的接口胜于一个通用接口。 
      
    (6)REP 重用发布等价原则 
    重用的粒度就是发布的粒度. 
      
    (7)CCP 共同重用原则 
    一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。 
    相互之间没有紧密联系的类不应该在同一个包中。 
      
    (8)CRP 共同封闭原则 
    包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响. 
      
    (9)ADP 无依赖原则 
    在包的依赖关系中不允许存在环. 
    细节不应该被依赖. 
      
    (10)SDP 稳定依赖原则 
    朝着稳定的方向进行依赖. 
    应该把封装系统高层设计的软件(比如抽象类)放进稳定的包中,不稳定的包中应该只包含那些很可能会改变的软件(比如具体类)。 
      
    (11)SAP 稳定抽象原则 
    包的抽象程度应该和其他稳定程度一致. 
    一个稳定的包应该也是抽象的,一个不稳定的包应该是抽象的. 
      
    (12)DAP(Default Abstraction Principle)缺省抽象原则 
    在接口和实现接口的类之间引入一个抽象类,这个类实现了接口的大部分操作. 
      
    (13)IDP(Interface Design Principle)接口设计原则 
    规划一个接口而不是实现一个接口。 
      
    (14)BBP(Black Box Principle)黑盒原则 
    多用类的聚合,少用类的继承。 
      
    (15)DCSP(Don't Concrete Supperclass Principle)不要构造具体的超类原则 
    避免维护具体的超类。 
      

  12.   

    JAVA的重点应该放在理解面向对象编程和设计上
      

  13.   


    面向对象的思想(更具体一点,向上、向下转型,多态等的熟练应用,熟练使用接口、抽象类、继承等技术来实现面向对象的设计)
    当然基础类库的学习也是很必要的然后再学一点jvm的东西,j2ee的东西
    关键要用,而不仅仅是学
      

  14.   

    public class Plus 
    {
         public static void main(String[] args) 
         {
              int c=1;
              int a;
              c=c++;
              a=c;
              System.out.println("c = "+c+" a="+a);
         }
    }为什么不是c=2 a=2 呢?是因为是因为c=c++;在作怪,c++ 执行完到下一个语句才等于2,可以用等价语句理解:c=c++;
     
    等价于int temp=0;
    temp=c++;
    //执行完上一句之后temp=1,c=2;
    c=temp;
    //执行完上一句之后c=1;所以所以输出结果是 c=1 a=1
      

  15.   

    继承和多态
    抽象类和接口
    为什么JAVA的API把String,Math等类和方法定义为final和static?
    接口的好处有哪些?
    思考类似这样的问题,会有助于提高你的JAVA学习能力。
      

  16.   

    public class Plus 
    {
         public static void main(String[] args) 
         {
              int c=1;
              int a;
              c=c++;
              a=c;
              System.out.println("c = "+c+" a="+a);
         }
    }=========================================这种东西只会出现在考卷和习题里。
    自己写的话,肯定不会写这种的,起码可读性不好。
      

  17.   


    int c = 1;
    c = c++; // 【c++】为1,其中c为2;有因为c++ 赋值给c 所以 c=1.a = c = 1;
    基础是重点也是难点。J2EE项目开发使用框架的居多!
      

  18.   


    Java的基础是重点,应用好面向对象设计是难点。
    面向对象思想是复杂的,无处不在的
    设计模式也不是一成不变的,关键在融会贯通。J2EE的轻量级框架太多,选择适合自己研究下去。
    EJB3.0在以后的应用应该会多起来吧!
      

  19.   

    学习ing~~~~~~
    c++=1 把c++赋值给c 所以c=1 把c赋值给a 所以a=1   
      

  20.   


    the thought of oop is very important !
    it's the foundation.
      

  21.   

    结果应该是1,1对吧~在学习java的时候刚开始基础知识是非常的重要,要不断的巩固,学习,还有思考,不建议刚开始去学习设计模式,这样会使你的想象力收到很大的限制,你可以学写了,并且掌握了面向对象思想之后,自己想模式去做,然后呢再看看设计模式,这样才能学到最多,而且思考到最多!相信你一定会成功的
      

  22.   

    32和46楼说的对结果是1。
    假设:
    int i = 1;
    i = i++;
    这里要注意到是i++的执行过程.
    i++的过程相当:
    temp=i; i=temp+1; return temp;
    也就像上面所说的此时(i++)这个表达式的值是1暂时用temp来代替(i++),i的值是2.
    然后执行i = temp;
    所以i的值是1.
      

  23.   

    J2EE的EJB配置是不是也算是难点呢?
    EJB应该算是一个难点 因为2.0之前它很复杂
    在国内的市场好像也不是很好。
    无论做什么基础都是很重要的,要不然虽然能写一些东西,
    但不免有的时候细节上会出现问题。
    学习是个慢慢积累的过程。
      

  24.   


    j2ee没有什么重点和难点,这又不是考试,还需要勾重点,既然你选择了java,那java就是你吃饭的家伙。
    就好比你手里拽着把瑞士军刀,你希望这把刀分出重点来么?还说你希望他功能越多越好?
    java就是你的基础工具,你应该力求精通,虽然这很不易,但是最好不要抱着有什么重点难点的心态。
    项目上碰到的问题千奇百怪,你要是连你的基础工具都没掌握全的话,你怎么能很好的完成你的工作呢?再就是框架,我不知道你见过盖房子没有?现在盖房子通常都会搭个框架,然后在这个框架上完成剩余的部分,
    盖房中的框架和java的各种框架是一样的左右。框架就是来约束你,你的项目应该朝着什么样的结构,什么样
    的目标去实现。学框架不难,只用学会调用各种接口和配置就好了。学好框架却比较难,基础太差是理解不了
    的,每个框架都包含了很多设计模式和实现思想在里面。lz并非张无忌,劝lz循序渐进,戒骄戒躁,孜孜不倦,勇攀高峰,终能修成正果。
    每个基础搞透彻,不要小看最简单的东西,最简单的东西也是最难理解的。多做练习,做完多总结。
    永远不要觉得你在公司的项目中学不到什么,学习是主动的,不是等人来教,你要是觉得公司的项目烂,你可以
    试着想想,到底哪里烂?为什么烂,然后试着去改善。要是你来设计这个项目你会怎么做?将思考变为习惯。
    不要总是觉得时间不够,时间就像内存空间,只要你申请,总还是有的(想我刚入行的时候,每天只睡4个小时,
    坚持了1年,比考研还tmd累,不过直接收获就是,你比别人得到的更多,不管是物质上,还是思想上。这就好比
    打网游练级,冲级快的就是老大,就是带小弟,否则你就是别人的小弟,一辈子出不了头,这也应了中国的老话:
    吃的苦中苦,方为人上人)。
      

  25.   

    先大致去学习下jdk的使用,常用类
    再去看三大特性
    再去看jvm——特别是对内存的分析!!!
    我觉得能够熟练的进行内存分析,那么问题肯定不大了关于框架,我觉得都是因为我们j2se基础不扎实,所以学到的都是表面的浅显的方法调用,有心人肯定会发现一个现象:高级框架的技术在j2se中都能找到技术原型!
    j2se没有个3遍5遍的系统学习,在你学习j2ee的时候你会觉得很累的!j2ee看完源码就没什么了(当然了,很多源码里作者的设计思想非常经典,每每发现妙处时,崇拜不已)
      

  26.   

    lz并非张无忌,劝lz循序渐进,戒骄戒躁,孜孜不倦,勇攀高峰,终能修成正果。 
    每个基础搞透彻,不要小看最简单的东西,最简单的东西也是最难理解的。多做练习,做完多总结。 
    永远不要觉得你在公司的项目中学不到什么,学习是主动的,不是等人来教,你要是觉得公司的项目烂,你可以 
    试着想想,到底哪里烂?为什么烂,然后试着去改善。要是你来设计这个项目你会怎么做?将思考变为习惯。 
    不要总是觉得时间不够,时间就像内存空间,只要你申请,总还是有的(想我刚入行的时候,每天只睡4个小时, 
    坚持了1年,比考研还tmd累,不过直接收获就是,你比别人得到的更多,不管是物质上,还是思想上。这就好比 
    打网游练级,冲级快的就是老大,就是带小弟,否则你就是别人的小弟,一辈子出不了头,这也应了中国的老话: 
    吃的苦中苦,方为人上人)。
    顶下;
      

  27.   

    一句话:工夫在诗外
    java本身:语法不算太难
    j2ee核心:jsp、servlet、tag简直堪称简单
    但是要深入掌握它们都不是容易事
      

  28.   

    J2SE
    清楚程序运行的各个时间段的内存情况.
    面向对象的思维,
    J2EE
    各个框架都能使用.
      

  29.   

    javaee的难点就是东西太多
    就是太复杂 javaee越来越庞大
    不太易用
      

  30.   

    如果针对框架组件来学java,java的各种开原组件多的无法形容,一辈子也不可能学完,
    只有扎实的j2se基础才是硬道理,
    基础好了,什么框架组件上手都很快
      

  31.   

    如果楼主之前还没接触过java,最好还是先随便找本java基础点的书看看语法,然后再去看thinking in java
    最主要还是要多动手,多思考
    高手接着说~~
      

  32.   

    学习java的难点在于怎么克服加班的痛苦
    重点是怎么让老板相信给你加薪是正确的选择
      

  33.   

    ejb真的没人用吗?感觉ejb很有前途