详解 抽象类
本人在这篇博文中要讲解的知识点,和本人之前的一篇博文有所关联。因为,“ 抽象类 ” 是按照 “ 自下而上 ” 的顺序来编写所需的类,而在本人之前的博文 《详解 继承(上)—— 工具的抽象与分层》 中讲到的 继承 则与之相反,按照 “ 自上而下 ” 的顺序来编写所需类,那么,话不多说,现在本人就开始讲解这篇博文的主题 抽象类的基本概念: 首先,本人来介绍下 什么是抽象类 : 定义 : 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类 那么,抽象类具有如下 特点 : 特点 : 抽象类 和 抽象方法 必须用abstract关键字修饰 : 抽象类格式: abstract class 类名 {} 抽象方法格式: public abstract void eat(); 抽象类 不一定有抽象方法,有抽象方法的类 一定是抽象类 抽象类中 可以有构造方法 ,抽象类 不能进行实例化 : 问:那么要构造方法有什么作用呢? 答曰:用于子类访问父类数据时的初始化 抽象类 不能直接实例化 问:那么,抽象类如何实例化呢? 答曰:按照多态的方式,由具体的子类实例化。其实这也是 多态的一种 ,抽象类多态。 抽象类的 子类 : 要么是 抽象类 要么 重写抽象类中的所有抽象方法 本人来通过 两个例子 ,来展示这个知识点的应用: 一、图形类: