zoukankan      html  css  js  c++  java
  • 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()方法,返回所有枚举值的数组

  • 相关阅读:
    linux ssh免密
    flink WaterMark之TumblingEventWindow
    flink 并行计数器实现
    VSCode删除重复的空行
    Gnome添加Open with Code菜单
    Linux下设置VSCode为默认的文本编辑器
    Jupyter Notebook添加Ruby支持
    Linux下无法运行Color picker
    oh-my-zsh: bracketed-paste-magic:zle:47: not enough arguments for -U
    Vim auto-pairs设置选项
  • 原文地址:https://www.cnblogs.com/purexww/p/14395138.html
Copyright © 2011-2022 走看看