首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 调查:学习java的难点和重点在哪里?学习J2EE的难点和重点在哪里? [已结贴,结贴人:jdlsfl]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 17:54:49 楼主
    调查:学习java的难点和重点在哪里?学习J2EE的难点和重点在哪里?
    只是希望一边讨论一边学习!

    举例子:
    Java code
    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配置是不是也算是难点呢?


    面对这些难点,除了不断的学习,是否还需要总结呢?
    200  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 17:57:281楼 得分:0
    sf
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 18:04:332楼 得分:8
    引用楼主 jdlsfl 的帖子:
    调查:学习java的难点和重点在哪里?学习J2EE的难点和重点在哪里?
    只是希望一边讨论一边学习!

    举例子:

    Java codepublic class Plus
    {
        public static void main(String[] args)
        {
              int c=1;
              int a;
              c=c++;
              a=c;
              System.out.println("c = "+c+" a="+a);
        }
    }


    这段程序输出什么?为什么?进行深入分析应该算一个小小的难点了吧!




    //a=c=1经分析知道的!!


    J2EE的EJB配置是不是也算是难点呢?
    //ejb许多公司几乎不用的,呵呵 不用学习,只要你学会了 struts hibernate spring就行 了

    面对这些难点,除了不断的学习,是否还需要总结呢?
    //当然需要总结,学习任何只是都要总结的 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 18:08:403楼 得分:2
    个人认为学习JAVA的重点应该放在理解面向对象编程和设计上,当然这也是难点,站在设计的角度去思考编程应该是最利于程序员成长的方式。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 18:27:094楼 得分:2
    java语法什么的
    很简单
    难得就是OOP,也就是面向对象编程
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 18:33:105楼 得分:1
    先把《Thinking in Java》真正的看熟
    在去了解J2EE的框架。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 19:04:416楼 得分:1
    先打好基础,后面的就不是很难了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 19:16:007楼 得分:3
    面向对象编程,设计模式
    如何才能少写代码,做到代码重用,
    灵活的设计源于项目经验,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • anqini
    • 等级:
    发表于:2008-05-10 19:19:518楼 得分:3
    我觉得思想是一个很重要的东西,尤其是设计的时候,假如你没有理解透这个OOP思想,你设计的,你写出来的程序是失败的,可能是很失败的!
    自己也是很差,希望高手讲述下自己的观点!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lisl2003
    • 等级:
    发表于:2008-05-10 20:20:189楼 得分:1
    引用 1 楼 mni2005 的回复:
    sf

    CSDN竟能容忍这种赤裸裸的灌水!

    我也因此喜欢上了CSDN
    图
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lisl2003
    • 等级:
    发表于:2008-05-10 20:24:0110楼 得分:1
    重在脚踏实地,难在脚踏实地
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 20:28:0211楼 得分:2
    java的难点和重点就是它的应用,看你怎么用它,如用oop思想和应用设计模式来设计

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 20:28:4912楼 得分:1
    面向对象和设计模式很重要
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 20:29:1413楼 得分:1
    学Java 编程思想很重要 我在刚学习Private方法的时候 就对它的get(),set()方法的用法感到迷惑 不知道什么时候用什么方法 哎 现在还不是很明白 - -#
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 20:34:2714楼 得分:1
    引用 2 楼 mni2005 的回复:
    引用楼主 jdlsfl 的帖子:
    调查:学习java的难点和重点在哪里?学习J2EE的难点和重点在哪里? 
    只是希望一边讨论一边学习! 

    举例子: 

    public class Plus  //public class 为共有类,Plus为类名,因为类是共有的 ,所以存储文件时必须以该类名为文件名保存
    {
        public static void main(String[] args)  //public 为公有方法,static表示类方法,不用创建对象就可以用它的(main方法系统调用),void表示该方法的返回值为空,String[] args表示一个字符串的引用数组,可以在程序中用的,例如:System.out.println(args[0]).当然编译运行的时候也可以用了。
        {
              int c=1;
              int a;
              c=c++;
              a=c;
              System.out.println("c = "+c+" a="+a);
        }
    }


    这段程序输出什么?为什么?进…

    这些只是我在学习中的一些体会,可能有不得到的地方,希望高手指针!谢谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 20:42:1815楼 得分:1
    思想是最后重要的吧,(*^__^*) 嘻嘻……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 22:32:3916楼 得分:0
    谢谢各位的回复!总结一下大家讲的

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

    以上加了个人见解,如有不对,请批评指正!
    希望大家互相学习

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 22:54:5417楼 得分:0
    引用 2 楼 mni2005 的回复:
    J2EE的EJB配置是不是也算是难点呢? 
    //ejb许多公司几乎不用的,呵呵 不用学习,只要你学会了 struts hibernate spring就行 了 


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

    另:EJB真的很多公司都不用吗,我觉得用的公司也有很多吧。
    不管公司用不用,探讨学习EJB,应该是对我们的又一次提高吧!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-10 22:56:4518楼 得分:0
    面向对象设计原则--《敏捷软件开发》

    摘抄自《敏捷软件开发-原则、方法与实践》-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)不要构造具体的超类原则
    避免维护具体的超类。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 00:00:3619楼 得分:1
    看看学学
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 00:11:0020楼 得分:2
    偶认为OO是重点,学习开发重在学习共性。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 10:36:1721楼 得分:2
    我觉得是面向对象编程的一个思想,还有设计模式也是很重要!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 11:01:4122楼 得分:2
    JAVA的重点应该放在理解面向对象编程和设计上
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yuppy
    • 等级:
    发表于:2008-05-11 12:21:1223楼 得分:1
    学习;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 13:23:5124楼 得分:1
    学习ing
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 15:27:1925楼 得分:0
    OO是重点和难点
    大家是怎么理解的,一起探讨下
    可以举具体的例子,方便理解
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 15:32:1626楼 得分:1
    编程思想~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 15:52:1227楼 得分:3

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

    然后再学一点jvm的东西,j2ee的东西
    关键要用,而不仅仅是学

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 16:48:4428楼 得分:1
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 17:57:2629楼 得分:2
    学习,总结那是不可避免的!
    不断的学习,不断的总结,不断的深入!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • 725137
    • 等级:
    发表于:2008-05-11 18:00:0530楼 得分:1
    应该是 1 1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 20:45:5031楼 得分:1
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 23:18:1332楼 得分:1
    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


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 23:33:5333楼 得分:1
    感觉应该是类,继承,多态,还有接口~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-11 23:34:0534楼 得分:1
    还是不明白
    引用 32 楼 piaoyi007 的回复:
    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++;
    //执行完上一…
    修改