问区别,以表格形式做区别;
问流程,以流程图解释;
问概念,解释+通俗易懂日常常见事物/编程常见;
不说废话,精炼
持更
Java面向对象有哪些特征,如何应用
| 特征(OOP) |
解释说明 |
通俗理解 |
关系联系 |
作用 |
| 封装 |
隐藏内部细节,只对外暴露访问方法 |
属性/方法封装,便于使用,限制不合理操作 |
类-类 |
低耦合,高内聚,增强代码可维护性;** |
| 继承 |
新类吸收已有类数据(属性/行为),并能扩展新能力。 |
特殊特征(子类)-共同特征(父类) |
父类-子类 |
避免对一般类和特殊类共同特征重复描述,使系统模型比较简练清晰
|
| 多态 |
两个类有继承关系,存在方法重写,父类指向子类 |
|
类-类 |
|
| 抽象 |
|
|
|
|
|
|
|
|
|
本质 : 利用类和对象编程的思想方式。
HashMap原理是什么,在jdk1.7和1.8中有什么区别
| 区别 (原理) |
数据结构 |
实现细节 |
时间复杂度 |
| 1.7 |
数组+单向链表(链表长时查询效率低) |
先从数组,再到链表 |
O(N) |
| 1.8 |
数组+单向链表+红黑树 |
同上,当链表元素超过8,将链表转成红黑树查找 |
O(logN) |
ArrayList和LinkedList有什么区别
| 区别 |
底层 |
方式 |
时间复杂度 |
优势(大数据下) |
| ArrayList |
数组 |
索引 |
O(1) |
适合查找 |
| LinkedList |
链表 |
元素列表 |
O(N) |
适合增删 |