每天进步一点点 2020/09/21

本文详细解析了Java面试中常见的三个问题:面向对象的特征、==与equals的区别、HashMap与HashTable的区别,帮助读者深入理解这些核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面试三连

1、 Java 面向对象的特征有哪些?

  • 封装:隐藏对象的属性和实现细节,对外提供访问方法,提高了数据的安全性。
  • 抽象:从众多的事物中抽取出共同的、本质性的特征
  • 继承:子类可以拥有父类的属性和方法,提高代码的复用性
  • 多态:一个接口,多种不同的实现方式

2、== 与 equals 的区别?

  • ==:变量是基本类型的时候,比较的是值,变量是引用类型的时候,比较的是引用
  • equals:默认情况下比较的是引用,重写了之后,比较的是值

3、HashMap 和 HashTable 的区别?

  • HashMap继承自AbstractMap类;Hashtable继承自Dictionary类
  • HashMap线程不安全;HashTable线程安全
  • Hashmap是允许key和value为null值;HashTable键值对都不能为空,否则报空指针异常
  • 计算hash值方式不同,Hashmap是利用key的hashcode值的高低位异或计算;HashTable只是计算key的hashcode值为最终hash值
  • HashMap扩容时,扩容2倍;HashTable扩容是,扩容2倍加1
  • HashMap数据结构是数组+链表+红黑树;HashTable数据结构是数组+链表

句子三连

  • Where would you like to travel on National Day.
    国庆节你想去哪里玩。
  • I want to go to Chengdu for hot pot.
    我想去成都吃火锅。
  • Do you want to go with me?
    你想跟我一起去吗?

俯卧撑50个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值