JavaSE--抽象

  1. 抽象类
    抽象类的由来:在我们定义一些子类的是发现其中有相同行为,那么可以将这些相同的行为抽取出到父类,有一个问题就是,这些行为只能由具体的子类去实现,但是放到父类中,不符合基本逻辑,我们不能以偏概全,所以父类当中的这个函数就不能具体实现,不能有具体的函数体,所以将该函数定义为抽象函数,函数实现由子类重写决定,具有抽象函数的类就称之为抽象类
    抽象类不可以创建对象,抽象类可以包含抽象方法,这些方法将在具体的子类中实现
     如果一个子类继承自抽象类时,如果没有完全重写时,那么它也就是一个抽象类
    抽象类可以没有抽象函数,抽象类有构造函数
    抽象类的构造方法定义为 Protected, 因为它只被子类使用。
    抽象类不能和以下关键字同时出现 private/final/static(可以直接通过类调用)

  2. 接口
    a.接口的由来:如果一个抽象类中所有的方法都是抽象的,那么这个接口类就可以用接口去表述,接口就是一个特殊的抽象类
    用interface代替class
    此时类和接口之间就成了实现关系(implements),并且接口此时已经不能在当作类去看待
    接口里边的函数一律是 public abstract
    接口里边的变量一律是 public static fianl
    在这里插入图片描述b.接口的意义:
    1.为类添加功能–将功能作为接口单独放出来
    2.作为一种传递
    类与接口之间为多实现关系:给类多加功能
    接口与接口之间多继承关系:只保留函数声明,并未指定具体的执行内容
    在这里插入图片描述

发布了22 篇原创文章 · 获赞 3 · 访问量 346

猜你喜欢

转载自blog.csdn.net/qq_45161607/article/details/103393567