在以后所有开发过程中,绝对不要出现一个类去继承一个已经实现好的类。而只能继承我们的抽象类与接口。
来源:对象的核心本质在于我们的方法的覆写上,如果说子类没有按照指定方法的覆写上,这样的操作就有不符合要求,所有要对子类的方法进行强制要求,则出现抽象类
概念:抽象类在普通类的基础上扩充了一些抽象方法(指示)。所谓的抽象方法是申明,不实现(没有方法体,没有大括号),所有的抽象方法都使用abstract关键字来定义,抽象方法所在的类也要使用abstract定义类,表示抽象类
现在发现抽象类就是比普通类多了一些抽象方法而已。
使用:抽象类中包含有抽象方法,抽象方法中没有方法体,就是不知道具体的方法,如果产生了实例化对象,则可以调用方法。抽象方法可以使用任意权限,尽量用public
抽象类的使用原则:1.所以的抽象类必须要有子类;抽象类中的子类(不是抽象类)必须覆写抽象类的全部方法。抽象类的对象可以通过对象多态性,利用子类为其实例化。
抽象类的规则:抽象类中依然可以提供构造方法,并且子类也会遵守子类实例化的流程,子类实例化之前一定会实例化父类构造方
对象的实例化步骤:1.进行类的加载2.进行类对象的空间开辟3.进行类对象的属性初始化(构造方法),所以如果构造方法没有执行,那么对象的属性一定就是对象数据所对应的初始值
2.抽象类中允许不定义任何方法,仍然无法进行实例化处理
3.抽象类不能使用final申明,因为抽象类必须要有子类,抽象方法不能使用private定义,因为抽象方法必须用子类覆写
4.抽象类分为内部抽象类外部抽象类,内部抽象类可以使用static定义,描述外部抽象类
抽象类最大特点:是强制规定了子类的实现,抽象类更多情况起到模板的作用,抽象类会定义一些固话的模式