Java 抽象方法

什么是抽象方法

抽象方法是指定义在抽象类中,由absract修饰符修饰的方法,此方法在抽象类中不需要实现;

若非抽象的子类继承了抽象类,则必须实现所有父抽象类中定义的抽象方法,注意java对类只允许单继承,但借口可以多继承;

我们可以看一下AbstractList这个抽象类,除了抽象方法以外,为List提供了很多具体的实现的方法,这样其子类就只需要继承AbstractList类,就可以享有其中已经被实现的方法。

我们看看其中抽象方法:

abstract public E get(int index);

//以abstract修饰,不需要在本类中具体实现
//E 为范型 如果不懂请同学们自行查阅

本方法为获取指定下标元素的值;

总结

1.抽象方法必须定义在抽象类中 使用abstract关键词进行修饰
2.因为父类没有实现,所以非抽象子类必须实现

需要注意的点

1 含有抽象方法的类只能是抽象类
2 抽象类不能用new实例化
3 抽象类可以包含属性,方法,构造方法,但是构造方法不能用new来实例化,只能用来被子类调用。
4 抽象类只能用来被继承
5 抽象类的方法必须被非抽象子类实现
6.抽象类存在的意义就是为子类提供一个统一,规范的模板,子类必须实现相关抽象方法

注意⚠️:《Effective Java》若非程序必要,我们应该尽量减少使用继承,而应该使用聚合