2021年8月 面试复习1) MAP Collection 面向对象 switch Object equals 哈希冲突

Map/Collection请添加图片描述

请添加图片描述

面向对象

三个特征:封装、继承、多态(抽象)

	基于面向过程的新思想,站在对象的角度看问题,多个功能放到不同对象中,强调是具备功能的对象。具备功能的实体为对象,最小的单位是类
	对象的4中创建方法:
		1、new
		2、反射
		3、clone机制
		4、反序列化
	Clone机制的深浅复制:浅复制只考虑当前对象,不考虑引用对象,没有复制引用对象

封装

继承

多态(重载、重写)

好处:同一个消息可以根据不同的对象采用不同的方式
接口的意义:规范,扩展,回调
抽象类定义:1、提供一个公共类型 2、封装子类中重复定位的内容 3、定义抽象方法,子类不同实现,定义一致,提高重用性
请添加图片描述
重写:只适用于实例方法,不能用于静态,子类中含有和父类相同签名的静态方法
不可变量:好处:线性安全,包装类
能否创建一个含可变的不可变对象?
可以,例子:

final Person[] Persons = new person()
这种情况,不要共享可变对象的引用,要变换时,返回一个原对象的拷贝

请添加图片描述

switch

1.7后支持String,但不支持浮点型和Long

Object方法

Object公共方法:判断、复制、反射、线程、字符串
判断euqals
复制Clone
反射getClass
线程notify、notifyAll、wait
字符串toString

equals 和 == 区别

euqals==
对象内容 ,比较对象地址值(运算符两边直接引用的值)
对于集合存储对象而言,通常要重写equals

equals和HashCode的联系

equals方法比较相等,这两个对象中任意对象调用hashcode必产生相同的哈希值
不相等,产生的哈希值不一定相等(冲突情况下不相等)
equals 1、会先判断放入对象的hashcode是否存在,2、不存在直接放入集合,如果存在,通过equals方法判断放入对象与集合中的对象是否相等3、不相等放入集合中

哈希冲突

拉链法:哈希表结点上加上next指针,构成单向链表,分配到同一结点可用链表存储
开放定址法:发生冲突,找下一个空地址
再哈希(rehash):多个哈希函数(多种计算地址的方法)冲突是更换计算方法

内部类

访问方式: 外围类.内部类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值