1.5 Java中==和equals的区别?(必会)

equals 和== 最大的区别是一个是方法一个是运算符。 ==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象 的地址值是否相等。 equals():用来比较方法两个对象的内容是否相等。 注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变 量所指向的对象的地址。

1.8 string常用的方法有哪些?(了解)

image.png

6.11 Object类常用方法有那些?

Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法:
方法 1: public final native Class getClass() // native 方法,用于返回当前运行时对象的 Class 对象,使用了 final 关键 字修饰,故不允许子类重写。
方法 2: public native int hashCode() // native 方法,用于返回对象的哈希码,主要使用在哈希表中,比如 JDK 中的 HashMap。
方法 3:public boolean equals(Object obj) // 用于比较 2 个对象的内存地址是否相等,String 类对该方法进行了重写 用户比较字符串的值是否相等。
方法 4:protected native Object clone() throws CloneNotSupportedException // naitive 方法,用于创建并返回当前对象的一份拷贝。一般情况下,对于 任何对象 x,表达式 x.clone() != x 为 true,x.clone().getClass() == x.getClass() 为 true。Object 本身没有实现 Cloneable 接口,所以不重写 clone 方法并且进行 调用的话会发生 CloneNotSupportedException 异常。
方法 5:public String toString() // 返回类的名字@实例的哈希码的 16 进制的字符串。建议 Object 所有的 子类都重写这个方法。
方法 6:public final native void notify() // native 方法,并且不能重写。唤醒一个在此对象监视器上等待的线程(监 视器相当于就是锁的概念)。如果有多个线程在等待只会任意唤醒一个。
方法 7: public final native void notifyAll() // native 方法,并且不能重写。跟 notify 一样,唯一的区别就是会唤醒在 此对象监视器上等待的所有线程,而不是一个线程。
方法 8:public final native void wait(long timeout) throws InterruptedException // native 方法,并且不能重写。暂停线程的执行。注意:sleep 方法没有释 放锁,而 wait 方法释放了锁 。timeout 是等待时间。
方法 9:public final void wait(long time, int nanos) throws InterruptedException // 多了 nanos 参数,这个参数表示额外时间(以毫微秒为单位,范围是 0-999999)。 所以超时的时间还需要加上 nanos 毫秒。
方法 10:public final void wait() throws InterruptedException // 跟之前的 2 个 wait 方法一样,只不过该方法一直等待,没有超时时间这 个概念。
方法 11:protected void finalize() throws Throwable { } // 实例被垃圾回收器回收的时候触发的操作。

6.12 是否可以继承 String 类?

String 类是 final 类,不可以被继承
继承 String 本身就是一个错误的行为,对 String 类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A)。

6.13 讲下java中的Math类有那些常用方法?

abs)
(double a)
返回 double值的绝对值
ceil)
(double a)
返回大于或等于参数且等于数学整数的最小值(最接近负无穷大) double 。
floor)
(double a)
返回小于或等于参数且等于数学整数的最大值(最接近正无穷大) double 。
max)
(int a, int b)
返回两个 int值中较大的 int 。
min)
(int a, int b)
返回两个 int值中较小的 int 。
random)() 返回带有正号的 double值,大于或等于 0.0且小于 1.0 。
round)(double a) 返回与参数最接近的 long ,并将关系四舍五入为正无穷大。
pow)(double a, double b) 返回第一个参数的值,该值是第二个参数的幂。