网站大量收购闲置独家精品文档,联系QQ:2885784924

Java面试题马士兵.pdf

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

151****6160 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档