关于学习的问题。

我一直都觉得JAVA的一些面向对象的抽象的概念好难理解,什么多态,反射,接口与抽象类之类的,好难理解,反而那些Swing,I/O流,多线程,之类的比较好懂,因为我知道这么写会得到什么结果,前面那些太抽象了,要怎么去理解?

本想把这些概念一一给你解释一遍,但应该没什么用,书上说的更好,你现在缺乏的是锻炼了。另外,刚入门就整SSH这些复杂的框架很容易让你迷失的,你可以试着用JSP+servlet+Jdbc做一些小模块,然后慢慢理解:Spring、Struts等框架是如何灵活运用继承、多态、封装、抽象的,甚至自己开发出一套类似Spring、Struts的MVC框架供学习。

也好理解啊,看看thinking in java,多多思考,就能理解了,

看看《java编程思想》,我最近在看,看了感觉明白了很多

慢慢就懂了 概念的东西当然好懂

什么多态,反射,接口与抽象类之类的

你说的这些主要用在设计模式上面的!

入门是不好懂 多去论坛看一些别人对这些名字的解释及运用!

封装:是把一个对象具有的数据和行为进行包装,有点像软件工程里面对内聚性。这样对好处是1,防止外部恶意更改数据;2,暴露自己所具有的行为,而调用者不需要知道是怎么实现的。
比如
[code]
class Person{
public int age;
public String name;
}
[/code]
按照上面定义对Person封装对不够好,因为,外部可以直接给属性赋值:
Person p=new Person();
p.age=-2;
p.age=300;
这样因为使用者的失误,使得Person的状态出现了异常(年龄-2或300)
[code]
class Person{
private int age;
public void setAge(int age){
if(age>0&&age<100){
this.age=age;
}
}
}
[/code]
下面对做法通过Person暴露的方法操作Person,可以由Person保证其状态的正确性

多态、接口这些特性是为了给程序留出足够的扩展性而存在的,你如果实在不理解,那你去做项目吧,按照自己的想法做,到时候痛苦的经历会让你理解的,