抽象类
观察以下代码有什么问题:
People people = new people("");
people.print();
结论:实例化people没有意义
- 派派也是一个人,张三、李四等等也是一个人,但是我们在生活当中呢,人是一种分类,并不是单个个体,他是我们抽象出来的,不具体,所以说他没有现实世界当中对应一个人这样的一个人存在,这种情况下呢,如何去实例化人对象呢?
- 是没有意义的,没有意义的对象,我们在Java类当中,在Java当中要想去限制类被实例化,我们就可以考虑把类定义为抽象类,抽象类呢,通常作为一个类的父类,来约束,该类不能被实例化,不能被实例化,那如何去定义抽象类呢,我们只需要在类的class关键词的前面加上abstract。
代码展示理解:
父类代码示例如下:
子类代码示例如下:
解析:
从语法上来说,去创建父类的这个对象是没有问题的我们也可以去访问他的方法,可以输出结果,但是这个人的类呢,实例化没有意义,我们这个时间就考虑把它定义成abstract抽象类,就在class关键字的前面,加强abstract,然后我们再观察刚才创建人类对象呢,代码发现了错误,错误的原因,不能够实例化,类型配置,那这就是抽象类的一个特点,抽象类不允许被实例化,不允许被废话。
总结:
从中得知,通俗的来讲就是当代码出现废话的时候,定义为抽象类,实现抽象类的特点。
- 下期我们讲解抽象方法