-
抽象类
抽象类的由来:在我们定义一些子类的是发现其中有相同行为,那么可以将这些相同的行为抽取出到父类,有一个问题就是,这些行为只能由具体的子类去实现,但是放到父类中,不符合基本逻辑,我们不能以偏概全,所以父类当中的这个函数就不能具体实现,不能有具体的函数体,所以将该函数定义为抽象函数,函数实现由子类重写决定,具有抽象函数的类就称之为抽象类
抽象类不可以创建对象,抽象类可以包含抽象方法,这些方法将在具体的子类中实现
如果一个子类继承自抽象类时,如果没有完全重写时,那么它也就是一个抽象类
抽象类可以没有抽象函数,抽象类有构造函数
抽象类的构造方法定义为 Protected, 因为它只被子类使用。
抽象类不能和以下关键字同时出现 private/final/static(可以直接通过类调用) -
接口
a.接口的由来:如果一个抽象类中所有的方法都是抽象的,那么这个接口类就可以用接口去表述,接口就是一个特殊的抽象类
用interface代替class
此时类和接口之间就成了实现关系(implements),并且接口此时已经不能在当作类去看待
接口里边的函数一律是 public abstract
接口里边的变量一律是 public static fianl
b.接口的意义:
1.为类添加功能–将功能作为接口单独放出来
2.作为一种传递
类与接口之间为多实现关系:给类多加功能
接口与接口之间多继承关系:只保留函数声明,并未指定具体的执行内容
JavaSE--抽象
最新推荐文章于 2024-05-18 21:09:15 发布