oop拾遗

  1. 抽象类和接口的区别
    抽象类是用来捕捉子类的通用特性的。所以当基本功能在不断变化时,就要用抽象类。如果这个时候用接口,那就要改变所有实现接口的类。
    接口是抽象方法的集合,更注重于功能本身。多继承必须使用接口。
  2. 抽象方法
    普通类不能有抽象方法,只有抽象类才有。
    抽象方法没有方法体。

    如果一个抽象的int方法有方法体,那么它应该返回什么?所以直接连{}都不要了

  3. 静态方法不能访问非静态方法
  4. 子类方法不能直接访问超类私有域>>所以有了super
    但是子类如果想访问,就应该是protected(但实际上除了子类,同一个包内也可以)
  5. this代表的是隐式参数p
  6. 多态,指的就是动态绑定。静态绑定指的是:private,static和final
  7. 覆盖方法时,子类方法不能低于父类方法的可见性
  8. Final的目的就是阻止继承,不允许扩展
  9. 类声明为final,方法自动为final,但是不包括域
  10. 向下转型时,往往 instanceof和强转是一起出现的
  11. 包含抽象方法的类一定是抽象的
  12. 如果重新定义equals,就必须要重新定义hashCode
  13. 由于toARRAY空参方法只能返回obj数组,所以Integer[] array = list.toArray(new Integer[list.size()]);
  14. 可变参数三个点(double,,, value)
  15. 枚举永远不要用equals而是要直接==
Enum.valueOf(Size.class, input);

使用一个string来反过来获得对应的具体枚举常量
17. 所有枚举都有values()方法,返回所有枚举值的数组

posted @ 2021-02-10 10:41  常熟阿诺  阅读(51)  评论(0编辑  收藏  举报