什么是抽象类
一个允许有抽象定义存在的类,可以像普通类一样有属性,成员方法,构造函数。
只有方法的声明,没有方法的实现。也可以有默认的方法实现。
怎样定义抽象类 访问修饰符 abstract class 类名{}
抽象方法的作用为了约束当前方法都具有某种行为
注意:
1.抽象类必须使用关键字声明。
2.抽象类不可以实例化,实例化的工作应该交由他的子类来完成,它只需要一个引用即可。不能new,只能被子类继承。
3.抽象的方法只能写在抽象类中。
4.如果在一个抽象类中定义了多个抽象方法,他的子类就必须重写父类未实现的方法,要么,让子类也成为一个抽象类,
5.抽象类中不一定都是抽象方法,也可以有普通方法和字段。
6.抽象方法都是不可以与private、static、final和native一起使用的,因为抽象方法都是要子类来实现的。
7.抽象类方法可以声明public prodected等权限。
接口
什么是接口
对于抽象类而言,更加的抽象,更加的纯粹。
接口的特点
1.接口中只能有抽象方法abstract和常量public static final (全局常量) 写不写都在呢。
2.接口中如果一个接口有子类,就叫做这个接口的实现类。
3.一个普通类若想实现一个接口,要么就必须实现该接口中的所有抽象方法,要么让实现类也成为一个抽象类,
4.一个抽象类可以实现一个接口,但是不能继承一个接口。
5.接口中的所有成员都是public权限
6接口是多实现
7.接口是不可以被实例化的,因为有抽象方法,需要被子类实现,子类必须全部覆盖接口中的抽象方法后,才可以实例化,否则子类也变成一个抽象类。