摘要: 内部类的分类有哪些? 内部类可以分为四种: 成员内部类、局部内部类、匿名内部类和静态内部类 。 什么是内部类? 在java语言中,可以吧一个类定义到另外一个类的内部,在类里面的这个类就叫内部类,外面的类就叫外部类。在这情况下,这个内部类可以看做外部类的一个成员。还有一种类被称为顶层类,指的是类定义代 阅读全文
posted @ 2021-11-30 10:32 加贝丶 阅读(872) 评论(0) 推荐(0)
摘要: 按照异常需要处理的时机分为编译时异常(也叫受控异常)也叫 CheckedException 和运行时异 常(也叫非受控异常)也叫 UnCheckedException。Java认为Checked异常都是可以被处理的 异常,所以Java程序必须显式处理Checked异常。如果程序没有处理Checked 阅读全文
posted @ 2021-11-30 10:23 加贝丶 阅读(626) 评论(0) 推荐(0)
摘要: 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)