摘要:
hashCode和equals方法的关系 面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写 hashCode方法?” 首先, equals() 方法和 hashcode() 方法间的关系是这样的: 1、如果两个对象相同(即:用 equals 比较 阅读全文
posted @ 2021-11-29 16:42
加贝丶
阅读(237)
评论(0)
推荐(0)
摘要:
hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码 的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在JDK的Object.java中,这就 意味着Java中的任何类都包含有hashCode()函数。 散列表存储的是键值对(key-va 阅读全文
posted @ 2021-11-29 16:07
加贝丶
阅读(245)
评论(0)
推荐(0)
摘要:
我们以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode: 当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位 置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode, HashSe 阅读全文
posted @ 2021-11-29 16:05
加贝丶
阅读(133)
评论(0)
推荐(0)
摘要:
抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法; 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final 类型的; 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法; 一个类只能继承一个抽象类 阅读全文
posted @ 2021-11-29 16:03
加贝丶
阅读(46)
评论(0)
推荐(0)
摘要:
增加了default方法和static方法,这2种方法可以有方法体。 阅读全文
posted @ 2021-11-29 16:02
加贝丶
阅读(72)
评论(0)
推荐(0)
摘要:
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即 外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现 父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。 重载(overloadin 阅读全文
posted @ 2021-11-29 16:01
加贝丶
阅读(124)
评论(0)
推荐(0)
摘要:
ArrayList和LinkedList的差别主要来自于Array和LinkedList数据结构的不同。 ArrayList是基于数组实现的,LinkedList是基于双链表实现的。另外LinkedList类不 仅是List接口的实现类,可以根据索引来随机访问集合中的元素,除此之外, LinkedL 阅读全文
posted @ 2021-11-29 16:00
加贝丶
阅读(848)
评论(0)
推荐(0)
摘要:
静态代理中代理类在编译期就已经确定,而动态代理则是JVM运行时动态生成,静态代理的效 率相对动态代理来说相对高一些,但是静态代理代码冗余大,一单需要修改接口,代理类和委 托类都需要修改。 阅读全文
posted @ 2021-11-29 15:57
加贝丶
阅读(126)
评论(0)
推荐(0)
摘要:
JDK动态代理只能对实现了接口的类生成代理,而不能针对类。 CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法。因为是继承, 所以该类或方法最好不要声明成final。 阅读全文
posted @ 2021-11-29 15:55
加贝丶
阅读(106)
评论(0)
推荐(0)

浙公网安备 33010602011771号