面试三连
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?
你想跟我一起去吗?