我初学Java,,里面的面向对象很困扰我,,,不知道怎么办好,,各位前辈有什么好的方法?
另外,我想以量取胜,,,多敲一些代码,,不知道有没有效果?????
谢谢

解决方案 »

  1.   

    以量取胜 是一个好办法,但不是最好的办法。 你需要阅读Head First Object-Oriented Analysis & Design
      

  2.   

    其实很多技术都是自学的,如果有很好的老师教那就更好了,
    可以先看一些基础的知识,推荐看些视频:尚学堂的马士兵,MLDN的李兴华,传智播客,动力节点等等了...
    网上资料很多的,不怕你不看,就怕你看不完
    javaSE学完之后学javaweb,然后SSH 这些也是比较传统的路线...
    内容比较多,还是贴出来马士兵老师写的一篇文章吧《马士兵-java自学之路》一部分
    一:J2SE 
    面向对象-封装、继承、多态
    内存的分析
    递归
    集合类、泛型、自动打包与解包、Annotation 
    IO 
    多线程、线程同步 
    TCP/UDP 
    AWT、事件模型、匿名类 
    正则表达式
    反射机制2:数据库(Oracle或者MySQL)
    SQL语句
    多表连接,内外连接, 子查询等
    管理表、视图、索引、序列、约束等 
    树状结构存储
    存储过程、触发器 
    数据库设计三范式、 3:JDBC
    JDBC基础
    连接池 
    树状结构存储与展现 
    DataSource & RowSet 
    JDBC连接Oracle及MySQL 4:HTML_CSS_JAVASCRIPT
    html、css、javascript基础语法
    JavaScript Form判断 
    Dom编程基础(事件处理等) 
    JS常用效果如TreeView、下拉联动等 
    JS学习方法 
    JS调试方法 
    DreamWeaver初步(建立HTML、Table、Form、CSS)等 5:Servlet & JSPtomcat基础 
    servlet基础 
    web.xml配置基础 
    web application的结构 
    servlet生命周期 
    request response等常用方法 
    ServletContext类 
    HTTP协议基础(GET POST) 
    Cookie 
    Session 
    Application JSP的几种语法(包括JSTL等)注意在项目中练习,不要拘泥于语法细节而裹步不前。6:Struts
    多层架构理论 
    Model 1 and Model 2 
    Struts基本概念 
    MVC
    Action与业务逻辑类的关系 
    在Struts与JSP之间传递数据 
    Struts处理流程(控制流) 
    Struts TagLib(了解常用的) 
    JSTL
    ActionForm 
    字段收集 
    上传文件 
    类型转换 
    DTO 
    动态Action Form 
    验证框架
    ActionForward 转发与重定向 
    动态生成ActionForward 
    全局与局部的ActionForward 
    Action Forward Scope
    UnknownActionMapping 
    Action的线程安全 
    I18N 
    如何切换语言环境 
    Struts异常处理机制 程序处理 自动处理 自定义异常处理器 
    Struts的多模块配置 7:XML
    (XML/XSL、XSLT/DTD、SCHEMA等基础的概念、关于Java的编程可以暂时扔在一边)8:Hibernate
    OR Mapping原理 
    Hibernate基础开发步骤 
    Hibernate基本接口(重点Session) 
    普通属性映射 
    关联关系映射 
    Native SQL 
    inverse lazy cascade 
    继承关系映射 
    HQL 
    性能优化 一级缓存 二级缓存 查询缓存 
    事务与并发 悲观锁、乐观锁 
    OpenSessionInView 
    CurrentSession 
    (至于JTA、联合主键、自然主键、动态主键、Any类型 Creteria Queries Intercepter and Event 自定义类型等,可以暂时扔在一边)9:Spring
    IOC/DI 
    Spring配置
    Spring架构 
    AOP及Spring AOP 
    声明式事务(AOP) 
    Spring + Hibernate Spring支持Web 
    Scope 
    (其他的Spring模块对于自学来说可以暂时扔在一边)10:EJB3.0
    J2EE架构基础(JTA JMS等) 
    EJB基础(地位及基本理论、分类等) 
    Annotation 
    Ant编译与部署EJB 
    Session Bean 
    EJB的依赖注入 
    Persistence API 
    (可以用JBoss学习EJB3.0)
      

  3.   

    面向对象的编程方法。
    初学者,学习的时候,确实会有些困惑。其实,就是一个编程理念的问题。
    首先、你要知道,我们所说的程序,宏观上来讲,可以分为两个部分:
        一个是指令部分;另一个是数据部分。
        指令部分会根据程序的当前环境操纵数据,完成功能。
    其次、传统的C语言,楼主可以把指令部分看作是函数,一个个的函数,完成多种功能;
        而一个个变量、尤其是结构体单位,则可以看做成数据部分。被函数操纵。
    第三、Java语言,则变成了一个个的类和对象。类和对象的关系,我就不废话了。
        我们也可以把类人为的分为两个部分:
        一部分的类,用于表示指令部分;另一部分,用于存放数据。
        这样,楼主在编程的时候,就方便很多。
    第四、非常赞同楼主的以量取胜的方法,当然,如果在大量的代码基础上,能够勤于思考、归纳总结,就更完美了。