发表于: 2020-03-01 15:45:00

1 1307


今天完成的事情:

clone()方法 :返回一个独立的对象,和原对象地址不同,属性相同。并且只有实现Cloneable接口才能调用clone方法。返回的对象为Object类型,可通过强转转回原对象类型。

equals()方法:判断两个对象是否相等,和“==”作用相同,一般在子类中被重写。

hashCode()方法:该方法时为了配合基于散列的集合可以正常运行(例如,当向集合中插入对象时,如何判别在集合中是否已经存在该对象?(集合中不允许重复的元素存在)),重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

getClass()方法:final方法,返回此Object的运行时类。

wait() 方法:

使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。

wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生:

其他线程调用了该对象的notify方法

其他线程调用了该对象的notifyAll方法

其他线程调用了interrupt中断该线程

时间间隔到了

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常

notify() 方法:唤醒该对象某个处于等待状态的线程。

notifyAll()方法:唤醒在该对象上等待的所有线程

toString()方法:把类转换成字符串,一般子类都会进行重写。

3. final 关键字的用法

项目被final修饰的类不可以被继承

被final修饰的方法不可以被重写

被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.

被final修饰的方法,JVM会尝试将其内联,以提高运行效率

被final修饰的常量,在编译阶段会存入常量池中.



返回列表 返回列表
评论

    分享到