初学者
我初学Java,,里面的面向对象很困扰我,,,不知道怎么办好,,各位前辈有什么好的方法?另外,我想以量取胜,,,多敲一些代码,,不知道有没有效果?????
谢谢 --------------------编程问答-------------------- 以量取胜 是一个好办法,但不是最好的办法。 你需要阅读Head First Object-Oriented Analysis & Design --------------------编程问答-------------------- 不知道你是否学过C,如果没学,建议先学C,其实面向对象是我们看待事物的一种方式,把系统的个个部件看成一个个对象,如果你现在不了解,没关系,在你以后运用的过程中会慢慢懂得,不能急取。我个人认为,程序设计关键在于思想,并不是敲代码多就会(当然,不敲代码也不行,思想也要应用于实践) --------------------编程问答-------------------- 书上的代码敲上一两遍就可以了,一般第一遍看书,第二遍自己想着敲。面向对象,其实没那么难理解,我觉得理论的东西得慢慢消化,先知道个大概就可以了,随着学习的深入,很多东西就自然而然的理解了。 --------------------编程问答-------------------- 学好基础,多练,多做,然后做小型项目 --------------------编程问答-------------------- 其实很多技术都是自学的,如果有很好的老师教那就更好了,
可以先看一些基础的知识,推荐看些视频:尚学堂的马士兵,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 & JSP
tomcat基础
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)
--------------------编程问答-------------------- 面向对象的编程方法。
初学者,学习的时候,确实会有些困惑。
其实,就是一个编程理念的问题。
首先、你要知道,我们所说的程序,宏观上来讲,可以分为两个部分:
一个是指令部分;另一个是数据部分。
指令部分会根据程序的当前环境操纵数据,完成功能。
其次、传统的C语言,楼主可以把指令部分看作是函数,一个个的函数,完成多种功能;
而一个个变量、尤其是结构体单位,则可以看做成数据部分。被函数操纵。
第三、Java语言,则变成了一个个的类和对象。类和对象的关系,我就不废话了。
我们也可以把类人为的分为两个部分:
一部分的类,用于表示指令部分;另一部分,用于存放数据。
这样,楼主在编程的时候,就方便很多。
第四、非常赞同楼主的以量取胜的方法,当然,如果在大量的代码基础上,能够勤于思考、归纳总结,就更完美了。 --------------------编程问答-------------------- 关键是理解 ,多看下相关资料,加深下理解, 要相信面向对象不是很难,给自己信心就可以了 --------------------编程问答--------------------
补充:Java , Java SE