- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JJaavv aa⾯⾯试试题题马马⼠⼠兵兵
b站题 ⽬和答案
JJaavv aa⾯⾯向向对对象象有有哪哪些些特特征征 ,,如如何何应应⽤⽤
⾯向对象编程 利⽤类和对象编程的⼀种思想。万物可归类,类 对于世界事物的⾼度抽象 ,不同的事物之间有不同的关系 ,⼀个类 ⾃⾝与外界的封装关系,⼀个⽗类和⼦类
的继承关系, ⼀个类和多个类的多态关系。万物皆对象,对象 具体的世界事物,⾯向对象的三⼤特征封装,继承,多态。封装,封装说明⼀个类⾏为和属性与其他类的关系,
低耦合,⾼内聚 ;继承 ⽗类和⼦类的关系,多态说的 类与类的关系。
封装隐藏了类的内部实现机制,可以在不影响使⽤的情况下改变类的内部结构,同时也保护了数据。对外界⽽已它的内部细节 隐藏的,暴露给外界的只 它的访问⽅法。属性
的封装 :使⽤者只能通过事先定制好的⽅法来访问数据,可以⽅便地加⼊逻辑控制,限制对属性的 不合理操作 ;⽅法的封装 :使⽤者按照既定的⽅式调⽤⽅法,不必关⼼⽅法的
内部实现,便于使⽤ ; 便于修改,增强 代码的可维护性 ;
继承 从已有的类中派⽣出新的类,新的类能吸收已有类的数据属性和⾏为,并能扩展新的能⼒。在本质上 特殊~⼀般的关系,即常说的is-a关系。⼦类继承⽗类,表明⼦类
⼀种特殊的⽗类,并且具有⽗类所不具有的⼀些属性或⽅法。从多种实现类中抽象出⼀个基类,使其具备多种实现类的共同特性 ,当实现类⽤extends关键字继承了基类 (⽗
类)后,实现类就具备了这些相同的属性。继承的类叫做⼦类 (派⽣类或者超类),被继承的类叫做⽗类 (或者基类)。⽐如从猫类、狗类、虎类中可以抽象出⼀个动物类,具
有和猫、狗、虎类的共同特性 (吃、跑、叫等)。Java通过extends关键字来实现继承,⽗类中通过private定义的变量和⽅法不会被继承,不能在⼦类中直接操作⽗类通过
private定义的变量以及⽅法。继承避免了对⼀般类和特殊类之间共同特征进⾏的重复描述,通过继承可以清晰地表达每⼀项共同特征所适应的概念范围,在⼀般类中定义的属性
和操作适应于这个类本⾝以及它以下的每⼀层特殊类的全部对象。运⽤继承原则使得系统模型⽐较简练也⽐较清晰。
相⽐于封装和继承,Java多态 三⼤特性中⽐较难的⼀个,封装和继承最后归结于多态, 多态指的 类和类的关系,两个类由继承关系,存在有⽅法的重写,故⽽可以在调⽤
时有⽗类引⽤指向⼦类对象。多态必备三个要素 :继承,重写,⽗类引⽤指向⼦类对象。
HHaasshhMMaapp原原理理 什什么么 ,,在在jj ddkk 11..77和和 11..88 中中有有什什么么 区区别别
HashMap 根据键的 hashCode 值存储数据,⼤多数情况下可以直接定位到它的值,因⽽具有很快的访问速度,但遍历顺序却 不确定的。 HashMap最多只允许⼀条记录的
键为null,允许多条记录的值为 null。HashMap ⾮线程安全,即任⼀时刻可以有多个线程同时写 HashMap,可能会导致数据的不⼀致。如果需要满⾜线程安全,可以⽤
Collections 的 synchronizedMap ⽅法使 HashMap 具有线程安全的能⼒,或者使⽤ ConcurrentHashMap。我们⽤下⾯这张图来介绍
HashMap 的结构。
JAVA7 实现
⼤⽅向上,HashMap ⾥⾯ ⼀个数组,然后数组中每个元素 ⼀个单向链表。上图中,每个绿⾊
的实体 嵌套类 Entry 的实例,Entry 包含四个属性 :key, value, hash 值和⽤于单向链表的 next。
1. capacity :当前数组容量,始终保持 2^n,可以扩容,扩容后数组⼤⼩为当前的 2 倍。
2. loadFactor:负载因⼦,默认为 0.75。
3. threshold:扩容的阈值,等于 capacity * loadFactor
**JAVA8实现 **
Java8 对 HashMap 进⾏了⼀些修改,最⼤的不同就 利⽤了红⿊树,所以其由 数组+链表+红⿊树 组成。
根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但 之
文档评论(0)