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