object概念java.long.Object是Java中所有类别的直接或间接父类 class A{} class B extends A{} 所有类别的对象都可以声明为Object引用 Object o1=new A(); Object o2=new B(); 解析:
Object类是所有类别的直接或间接父类,当一个类别不继承一个父类时,那么他就继承了object,class 如果A不继承Object类,系统会默认让他继承Object类,class B继承类A,那么我们这个object类,可以引用所有类别。
Object o1=new A()创建a类对象,引用a类对象,Object o2=new B()引用第二个对象,object的子类继承了object方法,常用的三种方法,一种是getclass()方法,另一种是equals()方法,第三种是tostring()方法。
getclass方法:返回一个对象的实际类型
编写类继承关系classs Animal{}class Dog extends Animal{}class Courser extends Dog{}在测试类中观察运行结果 d=new Dog();Dog c==new Courser();System.out.println(d.getClass()==c.getClass());final方法,返回Class类型的对象,反射以获取对象。
finalize() 该方法用于释放资源。由于无法确定何时调用该方法,因此很少使用。
hashCode() 该方法用于哈希搜索,重写equals方法通常需要重写hashcode方法。这种方法用于一些具有哈希功能的colection。
wait()
wait方法是让当前线程等待对象的锁,当前线程必须是对象的所有者,即对象的锁。wait()等待方法,直到锁定或中断。wait(long timeout)设置超时间隔,如果在规定时间内未获得锁,则返回。
调用此方法后,当前线程进入睡眠状态,直至发生以下事件。 其他线程调用对象的notify方法。 其它线程调用对象的notifyAll方法。 其它线程调用interupt中断线程。 时间间隔到了。
此时,线程可以调度,如果中断,则抛出InteruptedException异常。
notify()
该方法唤醒了在对象上等待的线程。
notifyAll()
该方法唤醒了在对象上等待的所有线程
总而言之,Object类是爸爸,是所有类的爸爸。