image.png
详细版脑图


脑图目录

1. 类、超类和子类

2. Object类

3. 泛型数组列表

4. 对象包装器与自动装箱

5. 参数数量可变的方法

6. 枚举类

7. 反射

8. 继承的设计技巧

提问环节

  1. 抽象类和接口的区别是什么?
  2. Object类中的hashCode方法底层是如何实现的?它返回的真的是对象存储的地址吗?
  3. 为什么重新定义equals方法,就需要重新定义hashCode方法?
  4. Arrays.toString和Arrays.deepToString底层是如何实现数组打印的?
  5. 为什么超类toString方法通过getClass().getName()打印类名时,子类调用super.toString()打印的却是子类的类名?
  6. 在Java中什么是泛型?它为了解决哪些问题?怎么实现的?
    1. 参考 Java泛型 | 菜鸟
    2. 后面的学习中有专门关于泛型的内容,因此这一块暂时省略
  7. ArrayList自动扩容底层实现方式是怎么样的?
  8. 除了ArrayList,还有其他类似的集合类吗?它与ArrayList的相同与不同之处又是什么?
    1. 参考
      1. 逼着面试官为了我ArrayList与LinkedList的区别
      2. 集合框架——ArrayList与LinkedList的区别
      3. Java中ArrayList与LinkedList的区别
    2. 后面会有一个专门的模块讨论集合,暂时不深入研究