黑马程序员技术交流社区
标题:
关于Object类的问题
[打印本页]
作者:
明天,你好
时间:
2013-5-22 22:24
标题:
关于Object类的问题
为甚么wait() 、notify()、notifyAll()要定义在Object类中
作者:
谢孔营
时间:
2013-5-22 22:47
因为执行每个对象至少有一个线程,既然有线程,那就可能使线程进入阻塞状态(wait),然后
一定时间后在唤醒该状态(notify),如果定义在Object这个上帝类中,则可以直接引用者两个方法使
进程进入阻塞状态,然后唤醒。这样更加方便吧。我是这样想的。
作者:
火之意志
时间:
2013-5-22 23:04
同意楼上的观点!这个问题不好回答,以下为我的看法。第一。object类是一切类的基类,超类,父类,所有的类,接口都继承与object类,定义在object类中的方法,它的子类都可以继承,可以通过对象调用,这里wait() 、notify()、noti、yAll()主要在多线程那里应用,线程类Thread,和接口Runnable都是object的子类,实现多线程的两种方式,继承Thread的子类和实现接口Runnable的类作为target传入thread类中实现线程,这些类中都会继承object的wait() 、notify()、noti、yAll(),可以直接调用他们,来控制线程之间的协调、通信;第二,多线程更多是与jvm有关,它比较靠近计算机底层,object类作为一切类的父类,必须定义那些最基本的方法,而线程作为进程的组成部分,控制线程的方法必须是优先定义在object这个基类中。
作者:
悟佛修道
时间:
2013-5-23 00:12
简单理解能被不同类型的,不确定的对象啊什么的调用 都定义到父类,因为都可以去调用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2