Java面试整理(精简版)

Java面向对象有哪些特征,如何应用

特征(OOP) 解释说明 通俗理解 关系联系 作用
封装 隐藏内部细节,只对外暴露访问方法 属性/方法封装,便于使用,限制不合理操作 类-类 低耦合,高内聚,增强代码可维护性;**
继承 新类吸收已有类数据(属性/行为),并能扩展新能力。 特殊特征(子类)-共同特征(父类) 父类-子类 避免对一般类和特殊类共同特征重复描述,使系统模型比较简练清晰
多态 两个类有继承关系,存在方法重写,父类指向子类 类-类
抽象

本质 : 利用类和对象编程的思想方式。

HashMap原理是什么,在jdk1.7和1.8中有什么区别

区别 (原理) 数据结构 实现细节 时间复杂度
1.7 数组+单向链表(链表长时查询效率低) 先从数组,再到链表 O(N)
1.8 数组+单向链表+红黑树 同上,当链表元素超过8,将链表转成红黑树查找 O(logN)

ArrayList和LinkedList有什么区别

区别 底层 方式 时间复杂度 优势(大数据下)
ArrayList 数组 索引 O(1) 适合查找
LinkedList 链表 元素列表 O(N) 适合增删
Exit mobile version