thzthbthy
2011-12-23 14:42 浏览 200
已采纳

关于学习的问题。

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答 默认 最新

  • 已采纳
    qiemengdao qiemengdao 2011-12-24 11:46

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

    点赞 评论 复制链接分享
  • qiemengdao qiemengdao 2011-12-23 14:56

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

    点赞 评论 复制链接分享
  • lihong22 红之悟 2011-12-23 15:24

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

    点赞 评论 复制链接分享
  • iteye_14657 iteye_14657 2011-12-23 16:01

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

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

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

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

    点赞 评论 复制链接分享
  • qiemengdao qiemengdao 2011-12-24 11:35

    封装:是把一个对象具有的数据和行为进行包装,有点像软件工程里面对内聚性。这样对好处是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保证其状态的正确性

    点赞 评论 复制链接分享
  • qiemengdao qiemengdao 2011-12-24 11:39

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

    点赞 评论 复制链接分享

相关推荐