Files
Hui-s-notebook/logseq-java/journals/2022_04_12.md
2024-02-02 00:12:49 +08:00

3.0 KiB
Raw Blame History

  • final
  • 抽象类
  • 接口
  • 多态
  • 总结 collapsed:: true
    • final
      • 最终的,最后的
      • 修饰类
        • 表示该类为最终类,不能被继承
      • 修饰方法
        • 表示该方法不能被子类重写
      • 修饰变量
        • 表示该量为一个常量
    • 抽象类
      • 具有抽象方法的类
      • 当某一方法没有具体的实现案例时,此方法为一个抽象方法
      • 不能被实例化,因为有方法不确定
      • 抽象类中的抽象方法在子类中重写去实现
      • 特点
        • 具有抽象方法的类,一定是个抽象类
        • 抽象类不一定具有抽象方法
        • 抽象类通过abstract定义并且抽象方法一定要在子类中实现
        • 假如子类也实现不了这个方法,将子类也定义为抽象类
        • 抽象类无法实例化
      • 可放置的元素
        • 抽象方法
        • 非抽象方法
        • 成员属性
        • 构造器
      • 面试题
        • 抽象方法,可以定义成私有的不?
          • 答:私有代表无法被重写,抽象方法是一定要子类重写!
        • 抽象方法可以定义为static的么
          • static方法的调用方式类名.方法名 意味着:这个方法一定有过实现;但是抽象方法实现了么?
        • 抽象方法可以定义为final的么
          • final 定义在方法上,表示这个方法不能被重写;但是抽象方法一定需要子类重写!
    • 接口
      • 也是一种抽象,比抽象类还要抽象
      • 作用:帮系统拓展新的功能
      • 使用
        • public interface 接口的接口名{
            //需要拓展的功能
          }
          
        • 访问修饰符 class 类的类名 extends 父类 implements 接口{
            //原有及接口拓展的功能
          }
          
      • 特点
        • 接口不能被实例化
        • 接口中抽象方法默认为publlic abstract
        • 接口中抽象方法,必须要通过类给与实现
        • 接口中的抽象方法,实现类可以变成抽象类,及可以实现接口中的方法
        • 类只能单继承,但是接口可以多实现
        • 类只能单继承,但是接口可以多继承
    • 多态
      • 多种形态
      • 相同的行为,不同的实现

      • 静态多态
        • 重载
      • 动态多态
        • 根据传入的对象不一样,调用相同的行为,拥有不同的实现
      • 动态多态先决条件
        • 必须要继承,必须要有方法的重写
        • 父类的引用,可以指向子类的实现
          • 父类的引用,看不到子类独有的东西
          • 子类的引用,可以看到父类的东西,也可以看到自己独有的
        • 动态绑定技术
          • 父类的引用,指向不同子类的是实现,会自动调用对应子类的行为
      • 用处
        • 多态集合
          • Object[] objts = new Object[10];
            
        • 多态参数
          • 在一个方法中,将父类定为参数,调用的时候,传入对应子类的实现
          • 由于多态的特点,做到:传入不同的子类,调用相同的行为,可以做到不同的实现