A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 芦子骐 中级黑马   /  2013-4-7 03:49  /  1580 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     学完了Java基础,发现类与类之间好像都存在某种相互依赖的关系,今天总结了一点点,感觉没有那么具体和透彻,放到这里跟大家分享
也希望大家能在这个基础上对这些关系作出补充,这个帖子会不断更新,我慢慢的做,这个不做不知道,一做才发现自己好像好多东西都不了解,至少了解的不够透彻。


—————————————————————我是分割线—————————————————————————
Object 类
        有构造函数,可实例化对象
        所有类的父类,Java中的所有类都继承了Object类,所以,我们可以认为所有的类都具有Object类中的方法,如:
        Frame f = new Frame();
        f.notify();
        并且所有的类都可以用多态的方式实例化对象,如Object o = new Frame();
        关系:此类中大部分方法为多线程功能,所以可以理解为跟Thread多线程类有直接关系

Throwable 类
        有构造函数,可实例化 实现 Serializable 接口
        所有异常或错误的父类,此类中的方法主要是实现了 Exception 和 Error 中的方法交集,所以可以认为这个类是为这两个类服务的。
        关系:是 Exception 和 Error 的父类,为这两个类服务。

Exception 类
        有构造函数,可实例化
        该类是可处理异常类,此类没有方法,而是为其他类服务,将其他类中会出现的异常封装成类,捕捉到后便会实例化成对象,所以该类中的子类众多。 try{}catch(){}方法,该类中的方法主要是对异常对象的操作,单独存在无意义,必须要在编译时或运行时被抛出去,使用时首先要用 try{} catch(){} 捕捉异常对象,或者用 throws 或 throw 声明,最终都是将异常对象抛出。
        关系:该类的关系比较复杂,几乎涉及到八成的类。但是总的来说,凡是在构造函数或调用方法时需要接收未知变量并且该变量有具体的定义范围时,就需要对该方法标记,或对代码 try{} catch(){} 捕捉。
                throws和throw的区别
                        throws使用在函数上。
                        throw使用在函数内。

                        throws后面跟的异常类。可以跟多个。用逗号隔开。
                        throw后跟的是异常对象。


Error 类
        有构造函数,可实例化
        该类是严重异常类,该类没有方法,为其他类服务,其子对象都是对严重异常的封装,一旦发生,程序会必须停止或编译失败。
        关系:同 Exception

Runnable 接口
        多线程类实现的接口,他规定了想要实现该接口的类,必须有run方法体,因为多线程程序在运行时是执行 run 方法中的代码,实现该接口的类都是多线程类。
        关系:规定了实现该接口的类都为多线程类。

Thread 类
        有构造函数,可实例化,实现 Runnable 接口
        该类为多线程类,类中的方法主要是对线程的操作,如等待,睡眠,唤醒,开启线程等。 start()方法启动线程,并调用 Runnable 接口中的run()方法。
        关系:工具类,包含了对线程的操作方法,任何代码和类都可以继承该类并在覆写run方法后都可以实现多线程。

6 个回复

倒序浏览
虽然视屏还没看到这块,但是谢谢楼主能分享自己的总结....
回复 使用道具 举报
板凳我也抢了吧
回复 使用道具 举报
下面的我还是不会放过的
回复 使用道具 举报
在抢一个呵呵
回复 使用道具 举报
楼主说的很好,顶一下
回复 使用道具 举报
大哥们~~多说点不足啊~~呵呵~我感觉这个总结的很水的~~好多地方我也是墨龙两可~~比如说我感觉多现成那块Thread 只是一个多线程的工具类,而真正实现多线程的是Runnabal 类中的run方法~这个我不敢确定 ,所以没有写上去~嘿嘿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马